Web基础


Web安全

条件竞争漏洞原理与举例

条件竞争漏洞一种服务器端的漏洞,由于服务器端在处理不同用户的请求时候是并发进行的,因此如果并发处理不恰当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的产生。

举个例子,很多Web程序都会有上传文件的功能,头像和图像等,服务器肯定会检查文件是否满足条件,不满足的要被删除。那么问题就在于,如果我们采用大量的并发请求,就穿第一个生成恶意 webshell

在上传完成和安全检查完成并删除它的间隙,攻击者通过不断地发起访问请求的方法访问了该文件,该文件就会被执行,并且在服务器上生成了一个恶意 shell 的文件。

至此该文件的任务就已经全部完成了,至于后面发现他是一个不安全的文件并把它删除的的问题已经不重要了,因为攻击者已经成功地在服务器中植入了一个 shell 文件,后续的一切就都不是问题了。

如何验证存在 XSS 漏洞

XSS 漏洞的原理是:插入语句、改变结果、操纵数据。

本质是:用户输入的 html 语句直接输出,包括了使用不正确的方法去验证,挖掘 XSS 的第一步是找输入,也就是用户可以操纵代码的位置;第二步是找输出,也就是找到第一步用户输入的代码在网页的何处地方进行了输出;第三步就是构造 payload,通过查看源代码,构造出 payload

如果代码输出位置在<td>test</td>,即可构造出 payloadtest</td><svg/onload=console.log(1)><td >,最后的输出结果为:<td>test</td><svg/onload=console.log(1)><td></td>


文章作者: Justice
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Justice !
  目录