问题标签 [replay]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3080 浏览

asp.net - ASP.NET重放攻击再次检测

好的 ASP.NET WebForms 现在是旧技术,但在可预见的未来我们会坚持使用它,我只是想看看我是否可以放入一个非常基本的重放攻击预防机制。基本上,我们希望确保在用户明确注销后,没有人可以重播旧请求并根据授权 cookie 自动对其进行身份验证,但我们仍然希望允许对不想要的用户使用永久授权 cookie重新登录每个新的浏览器会话。根据我在后一种情况下观察到的情况,如果您退出浏览器并开始新会话,则没有cookie 标头中的会话 ID - 仅表单授权 cookie。在这种情况下,我们希望允许自动身份验证(至少对于 GET 请求)。在“重播”的情况下,cookie 标头中有一个会话 ID - 但 ASP.NET 实际上会使用相同的 ID 自动重新创建一个新会话。幸运的是,我们可以检测到这一点(通过检查 Session.IsNewSession 和 Request.Headers["Cookie"] - 虽然不是,奇怪的是,Request.Cookies 有时包含会话 cookie,即使它不是由客户端发送的),因此它是如果客户端已为用户注销时已关闭/放弃的会话发送会话 ID,则可以强制重新登录。

但是……如果重放攻击故意忽略会话 ID,那么当授权 cookie 是永久 cookie 时,就没有真正的方法可以将其与合法的浏览器请求区分开来。在这种情况下,您至少可以阻止“POST”请求,但是重放攻击可以先发出 GET 来建立新会话,然后再使用 POST。我真的什么want 是一种确定用户注销后用于授权该会话的 cookie 值不再有效的方法 - 我想这需要在数据库中存储一些东西(很可能是当前有效 cookie 值的列表) ,这似乎比目前所能证明的要付出更多的努力。但似乎其他任何事情(例如在表单上使用隐藏的 nonce 字段)都容易出现一个脚本,该脚本只是模拟用户使用永久授权 cookie 重新建立新会话,在这种情况下,他们将能够确定所需的nonce 字段值等因此假设我是正确的,必须将某些内容存储在服务器端以跟踪(基本上)哪些授权 cookie 值仍然有效,是否有任何已知的低占用空间/知名库做这个?

(顺便说一句,现在我在身份验证票证上使用了 IsPersistent 标志 - 如果这是错误的,即用户已明确选择仅使用每个会话 cookie,因为他们知道他们将重新登录下一个浏览器会话,那么我可以可靠地阻止重放攻击。但如果是真的,我只阻止“POST”重放,这并没有提供太多真正的保护,但至少担心更复杂的重放攻击的用户可以通过始终选择每个会话来阻止它们验证)。

0 投票
1 回答
93 浏览

macos - 是否可以在 OS X 上进行反向调试

我知道在 Linux 上 gdb 能够记录和重播可执行文件所执行的位置,但直到现在在 OS X 上,该功能还没有在 gdb(7.10)中实现,lldb 也没有。

我想知道是否有任何具有类似功能的工具或项目?

0 投票
1 回答
87 浏览

oracle - Oracle 的应用程序连续性是否仅适用于 RAC 实施?

Oracle 的应用程序连续性是否仅适用于 RAC 实现,或者也适用于单个 oracle 实例。

我正在尝试为没有 RAC 的基于 Oracle db 的应用程序实现应用程序连续性,只有一个 oracle 数据库实例。我的问题是,AC 是否可以在没有 RAC 的情况下工作。

0 投票
1 回答
220 浏览

datasource - Oracle 应用程序连续性 - 无法获得重放 DataSouce

我无法获得可重播的数据源(代码附在下面)。

下面是我从上面的代码中得到的系统打印,它显示连接实例不是可重放的类型。

连接工厂设置 使用 URL jdbc:oracle:thin:@(DESCRIPTION = (TRANSPORT_CONNECT_TIMEOUT=3) (RETRY_COUNT=20)(FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ( CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl))) 池已配置,试图 获取连接这不是重放数据源。为什么不?

我从以下站点获取代码并进行了一些修改以添加线程并模拟 AC。但我无法获得可重播的数据源。

https://martincarstenbach.wordpress.com/2013/12/13/playing-with-application-continuity-in-rac-12c/

0 投票
1 回答
605 浏览

oracle - Oracle DB - 应用程序连续性 - 如何测试它?

如何测试/POC 应用程序连续性概念。我尝试使代码保持连接,以便应用程序无法获取连接并尝试从池中获取。我确信这不是测试应用程序连续性的正确方法,但我不知道如何创建适当的场景。

这是在事务进行时降低数据库的唯一方法吗?

我使用下面的代码来模拟 AC,其中一个过程在 20 个线程中调用 20 次,每次都有一个新连接。我正在创建一个场景,其中一个线程等待连接,由于没有及时获得连接而超时,然后退休以获取连接,这是一个适当的 AC 测试。(下面是测试类)

我从以下站点获取代码并进行了一些修改以添加线程并模拟 AC。但我无法获得可重播的数据源。

https://martincarstenbach.wordpress.com/2013/12/13/playing-with-application-continuity-in-rac-12c/

0 投票
1 回答
3705 浏览

arduino - 使用 Arduino Nano 和 Sim900 模块通过消息回复发件人

我使用 arduino Nano 和 Sim900 模块。我希望,当收到一条消息时,Arduino 回复"thanks"发件人。我的消息接收功能代码是:

那行得通,但是我如何从邮件中检索发件人号码?

0 投票
1 回答
2042 浏览

ios - ReplayKit 框架 - 是否可以只请求一次许可?

对于 iOS 9 中 Apple 的新 ReplayKit 框架,您必须获得访问麦克风和录制屏幕的权限。

当我在每次启动时在 xcode 中运行我的测试应用程序时,它似乎在我已经在上一个会话中授予权限时重新请求权限。

有没有办法请求一次许可(当用户第一次启动应用程序时)而不必在每次新会话时再次请求?

谢谢![在此处输入图像描述] 1

0 投票
4 回答
11972 浏览

cryptography - 存储在 EMV 芯片中的 Application Transaction Counter 用于 ARQC 生成的目的是什么?

EMV book 2: security and key management on page 151 中,指出

“计数器导致密码(ARQC)的唯一性,并为主机验证服务提供跟踪值,允许识别重放交易和克隆卡。”

如果发行方依赖于 ARQC 的收单方(终端为会话 UN 发送随机数),那么 ATC 的目的是什么?“允许重放交易”是什么意思?谁重播ARQC?

0 投票
3 回答
5960 浏览

cassandra - 如何从 Apache Cassandra CommitLogReplayException 中恢复

我在运行 apache-cassandra 3.3 时意外关闭了 Mac OS X。在新的引导加载中重新启动 cassandra 时,出现以下错误:

我在堆栈溢出和谷歌上搜索并没有找到同样问题的帖子。我发现了问题https://issues.apache.org/jira/browse/CASSANDRA-9749,这是相关的,但是这个问题被标记为已解决,并且与检测到问题后继续执行有关,而不是因异常而失败。

在这种情况下我该怎么办?是否有任何恢复路径(假设没有可用的快照)?有什么方法可以在违规记录处截断提交日志?有什么工具可以修复错误的标题(例如删除记录)?

谢谢。

0 投票
0 回答
201 浏览

django - How to I replay a GET request?

I have a django website, the first page is a simple login form.
After a successful login, the user is redirected to /home/ url. i.e. to view /home/ url you are required to login (session based).
I'm trying to replay the request to /home/ using a tool like Postman (but other tools could work too I guess).
I open chrome dev tools, network tab, copy all the request headers (cookie header is also there), and paste it in the tool, I copy the url and do a GET request.
This does not work and I my website returns the login page.
Means, my website does not consider the Postman request to be authenticated. Why?
Isn't the session cookie is how the server check whether the user is logged in?
I copied everything from the request headers in chrome, so how is that the browser (chrome) and the tool (Postman) are treated differently?
My website does not uses HTTPS, though I still don't understand how it would make a difference.