XSS(跨站脚本攻击)实验


XSS利用部分程序将包含Javascript等恶意脚本注入,使浏览器执行完成个人的目的

以反射型为例

以输入语句<script>alert(/xss/)</script>为例,

此时会弹出/XSS/的显示框,证明语句被执行。

因为语句中包含<script>能被执行,所以要针对<script>进行过滤,同时需要注意对有些绕过过滤的方法进行处理

单纯过滤<script>标签

函数str_replace()能够对输入的数据中<script>标签替换为空,如图输入

可以得到,绕过了限制规则

但输入复写和大小写后再测试:

复写:

 

大小写:

 

就能够轻松的绕过

继续修改脚本:

上述代码,基于正则表达式进行过滤,/i不区分大小写,对“//”内部的内容反复过滤直至不再出现

但设置黑名单的方法具有局限性,上述方法只针对黑名单内部的有效

其他标签就可以轻松绕过;

继续升级版本,如果能将输入的内容只作数据看,而不看作指令就能够避免程序被错误的执行,htmlspecialchars()函数能将预定义字符钻换为HTML实体,使得“<”,“>”,“'”,“"”,“&”失去命令的效果

再输入含标签语句

没有删除“<”等有特殊意义的符号,但依旧不会执行。

在本实验中,如果有输入的字符限制和其他限制可以通过burpsuite抓包进行修改,然后将其传送到服务器即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM