本章目的
普及XSS相关工具的简单使用,在DVWA中练习Dom型XSS方法
DVWA Dom XSS
相关代码
将get参数中的default的值写入页面中的<option>节点
if (document.location.href.indexOf("default=")>=0){var lang = document.location.href.substring(
document.location.href.indexOf("default=")+8);document.write("<option value='"+lang +"'>"decodeURI(lang)+"</option>");document.write("<option value="disabled='disabled'>----</option>");}
在参数中写入payload
Medium等级防御代码
过滤掉了<script,同时输出点发生了变化
if array_key_exists("default",$_GET )&&!is_null ($_GET['default']))
{$default = $_GET['default'];
Do not allow script tags
if (stripos($default,"<script")!==false){header ("location:?default=English");exit;}}
Medium等级防御代码
使用事件进行绕过,同时需要将select标签闭合
payload: </select><body onloadsalert("XSS")>
High等级防御代码
if( array_key_exists("default",$_GET )&&!is_null ($_GET['default'])){
switch ($_GET['default']){
case "French":
case "English":
case "German":
case "Spanish":
#ok
break;
default:
header ("location:?default=English");
exit;}}
High等级防御代码
防御的已经非常完善了,传入的参数如果不是French、English、German、Spanish这几个字符的话,就直接跳转到?default=English的页面。可以说从后端来看已经无解可击了,因为严格控制了用户输入的参数,但是还是可以使用一些方法绕过,因为Dom型xss直接取出参数然后输出的是前端js而不是后端的php语句。所以可以运用浏览器处理url的一些特点进行绕过。
High等级绕过
使用#,#之后的语句将不会发送给服务器,但是会被javascript识别,写入dom,payload:English #<script>alert("xss");</script>
XSS工具
BruteXSS简介
BrutexSS是一个非常强大和快速的跨站点脚本暴力注入。它用于暴力注入一个参数该BruteXSS从指定的词库加载多种有效载荷进行注入并且使用指定的载荷和扫描检查这些参数很容易受到XSS漏洞。得益于扫描功能。在执行任务时,BruteXSS非常准确而且极少误报。BruteXSS支持POST和GET请求,适应现代Web应用程序。
BruteXss特点
XSS暴力破解
XSS扫描
支持GET/POST请求
自定义单词可以包含
人性化的UI
BruteXSS安装
Github页面:https://github.com/rajeshmajumdar/BruteXsS
版本:Python2.7
需要的模块:Colorama,Mechanize
安装模块的方式如下:
pip install colorama
pip install Mechanize
BruteXsS使用方法
一步步设置:依次设置传参方法、ur1、使用的payload
Burpsuite的xss检测功能
1.打开Proxy功能中的Intercept选项卡,确认拦截功能为“Interceptionison”状态,如果显示为“Interceptisoff”则点击它,打开拦截功能。
Burpsuite的xSs检测功能
2.打开浏览器,输入需要访问的url,将会看到数据流量经过BurpProxy并暂停,直到你点击【Forward】,才会继续传输下去。如果你点击了【Drop】,则这次通过的数据将会被丢失,不再继续处理。
扫描功能
右键,选择Doanactivescan进行主动扫描。这种方法是扫描单个页面Burpsuite也有根据爬虫爬行的结果扫描多个页面的功能,非常强大
XSS测试平台
介绍
XSS测试平台是测试XSS漏洞获取Cookie并接受Web页面的平台,可以取Cookie、后台增删改文章、钓鱼、修改网页代码等,源码基于xsser.me。
XSS漏洞利用
Cookie的窃取与欺骗
1.hacker把恶点代码注入到WEB服务器中去
2.管理员登陆服务器
HACKER获得管理员COOKIE
3.服务器把COOKIE写入管理员浏览器中去
4.管理员去访问留言页面
5.XSS恋意代码被注入到管理员浏览器
6.恶意代码在管理员浏览器上执行
7.管理员COOKIE被传到XSS平台上
8.HACKER登陆服务器