Web渗透-XSS跨站脚本
概要
分类
反射型XSS
漏洞案例:
1.登录窗口用户名处存在反射型XSS注入

2.点击登陆,成功弹出内容

修复建议:
修改相关问题页面,增加对客户端提交数据(如表单、URL链接)的合法性验证,严格过滤输入区中脚本语句的关键字,并且所有验证都应该在服务器端实现,以防客户端(IE页面代码部分)控制被绕过。
验证部分为get方法中URL后面跟的参数,及post方法中Post的数据参数,需过滤的关键字为:
[1] ' 单引号
[2] " 双引号
[3] % 百分号
[4] () 括号
[5] <> 尖括号
[6] ; 分号
[7]— 双减号
[8]+ 加号
[9]HTML脚本关键字,如script,meta等等,注意对于关键字要对大小写都识别,如:script;SCRIPT;ScriPT等都应识别。
储存型XSS
漏洞案例:
访问连接,在Username输入“admin”,Password输入“pass”显示如图

在Username输入“<script>alert()</script>”,Password输入“<script>alert(0)</script>”,点击Submit

点击确定后,重新刷一下页面,XSS重现

点击确定后,可以右键HTML页面源码,查看利用原理

可以看到从数据库调出的只有当前注册的用户名,这种存入数据库的XSS就是存储型XSS。
修复建议:
修改相关问题页面,增加对客户端提交数据(如表单、URL链接)的合法性验证,严格过滤输入区中脚本语句的关键字,并且所有验证都应该在服务器端实现,以防客户端(IE页面代码部分)控制被绕过。
验证部分为get方法中URL后面跟的参数,及post方法中Post的数据参数,需过滤的关键字为:
[1] ' 单引号
[2] " 双引号
[3] % 百分号
[4] () 括号
[5] <> 尖括号
[6] ; 分号
[7]— 双减号
[8]+ 加号
[9]HTML脚本关键字,如script,meta等等,注意对于关键字要对大小写都识别,如:script;SCRIPT;ScriPT等都应识别。
DOM XSS
攻击有效载荷放置在响应页面中,客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于这个特性,就可以利用JS脚本来实现XSS漏洞的利用。
转:https://wiki.freebuf.com/detail?tribal_id=31&camp_id=17&entry_id=855
https://wiki.freebuf.com/detail?tribal_id=31&camp_id=17&entry_id=17132
https://wiki.freebuf.com/detail?tribal_id=31&camp_id=17&entry_id=18445
https://wiki.freebuf.com/detail?tribal_id=31&camp_id=17&entry_id=15807
浙公网安备 33010602011771号