session 重放攻击_关于接口的重放攻击

5ffffda77fbb347d9ace79a357eb0e19.png

何为重放攻击攻击?

重放,即重复发送。指攻击人利用网络监听或其它方式抓到正常请求数据包,然后使用这个已经被服务器成功接收过的数据包,原封不动的再次发送给服务器,以达到欺骗服务器的目的。最终实现非法操作。

举例:

假设有这样一个登录接口:http://www.domain.com/login.do?username=zhangsan&password=md5(password)

虽然这个登录接口的 username 和 password 是经过一些加密机制加密过的,攻击者不能解密出明文。但攻击者只要抓到这个请求包,并在某个时间点再次提交到服务器时,由于请求数据并没有改变,服务器判断 username 和 password 是对的,这样就登录成功了。

攻击者通过登录后,就可以继续做那些需要登录才能做的操作了,比如:获取用户敏感信息,转账。。。

如何防重放?

防重放的核心就是不要让接口参数可以多次调用,在拿到提交的参数到执行业务逻辑之前要加相关校验。

如上述例子参数:username=zhangsan&password=md5(password),密码是直接 md5 加密的。我们可以将密码加密后再加盐:username=zhangsan&password=md5(password)+ 盐值,这个盐值可以是随机数和时间戳的组合,随机数由服务器在打开页面时返回,并记住这个随机数(比如保存在 session 中)。

服务器接收到 password 参数,获取盐值,并解析出里面的随机数和时间戳。首先判断时间戳是否在一定范围内,如果不在表示可能是攻击请求,直接拒绝;然后判断这个请求上来的随机数和服务器记住的随机数是否一致,不一致也拒绝请求。最后再执行业务逻辑(校验账号密码)。

总结

最后,再次提醒要使用 HTTPS 协议,使用 HTTP 很容易被监听到数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Charles中进行攻击,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装并打开了Charles工具。 2. 在Charles中,启动“Recording”功能,以捕获你要的请求。你可以通过选择菜单栏中的“Proxy”>“Recording Settings”,然后在“Include”选项中添加你希望捕获的域名或URL。 3. 使用你喜欢的浏览器或其他应用程序,在Charles的代理设置中配置你的设备,以便将流量导向到Charles。 4. 在你的应用程序中执行需要的操作,例如登录或发送请求。 5. 当操作完成后,停止Charles的录制功能。 6. 现在,你可以在Charles的“Session”选项卡中找到你捕获的请求。选择你想要的请求,并右键单击,然后选择“Repeat”选项。 7. 在“Repeat”选项中,你可以设置的次数、速度以及其他选项。确保你理解这些选项的含义,并根据需要进行设置。 8. 点击“OK”开始攻击。Charles会自动发送选定的请求,并在结果窗口中显示响应。 请注意,攻击是一种潜在的安全风险,只能在合法和道德的测试环境中使用。在实际应用中,攻击可能会导致严的安全问题,并且违反了伦理准则。在实际应用中,请遵循安全最佳实践,并确保适当保护用户数据的安全性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [[红日安全]Web安全Day10 - 攻击实战攻防](https://blog.csdn.net/hongrisec/article/details/104686347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值