xss-labs靶场第11-14关基础详解
前言:
目录
第11关
第12关
第13关前期思路:
第十四关
内容:
第11关
也和上一关一样,什么输入框都没有,也就是
也是一样的操作,先将这里的hidden属性删掉一个,注意是删掉一个
输入1111,然后按ENTER键,
然后就看到有提示了,前两个是不能用的,就是输入的话,他不会输出在浏览器代码里
后两个是能用的
又测试了一下。总结,只有第三个字段能用。。。。。。
然后接着测试,输入双引号,测试,发现被过滤了,双引号被实体化编码了,基本宣布双引号不能用了,想下能不能用html编码来绕过。
不行,输入html编码的"," ,放到浏览器上,也不知道为什么就消失了#34;,只剩一个这个
然后变成这个
怎么也想不出来,我以为双引号实体化编码能绕过,好像这里并不能绕过,以后看到实体化编码的话,应该都是不能绕过了
ok,这里的最后一个字段很可疑(看了答案之后说的,),就是我输入任何一个字段,他都是输出一个
http://127.0.0.1/xss-labs/level11.php
那么就要想一下了,这个东西是不是很相似,这个不就是我们靶场的地址吗
我怎么就没想到这个地址是可控的,这个需要改的就是burp上改
这个refer的意思就是,从上一个页面返回的(refer就是上一个页面的地址)
打开burp,开始抓包,寄,抓不到包,累了
懂了,抓包的话,要设置网址是本地的ip地址,好像才能抓到包
也就是这样:192.168.251.78/xss-labs/level11.php就好了
然后打开burp,刷新第11关靶场,添加referer头,就可以通关了
构造paylaod:
Referer: " οnclick=alert(1) type="text
然后再点击页面的输入框,就可以通关了
总结思路:
就是说页面输出的内容,是从我们这边请求到服务器的(burp上边请求的内容到服务器),然后他会返回给页面上,然后我们就可以改这个内容,构造payload,实现xss
简单来说,就是内容可控,有输入输出
第12关
前期思路:
发现url有输入的参数,直接输入<script>alert(1)</script>,查看源代码,发现<>被实体化编码了,那这基本就用不了,
说明什么:
那么这里的参数基本上是没有xss漏洞的,
另寻参数,发现这里有个参数,好像是可控的,这里应该是我们ua头的相关信息
验证猜想:
直接burp抓包,可内容是否可控,可控就说明可能存在xss,我就直接在历史抓包记录找了
发现内容可控,但是过滤了<>,不过我们也不需要再弄个标签了,
直接利用<input>标签里的,onclick字段就可以实现弹窗了
构造payload:
" οnclick=alert(1) type="text
详细步骤及截图:
刷新12关靶场,打开burp抓包,在ua头添加:" οnclick=alert(1) type="text,然后再浏览器上点击输入框,就过关了
第13关
前期思路:
有了前几关的思路,我就直接burp上抓包,放到重发器,改参数,
看burp请求包和响应包,看有哪些参数是否可控,然后构造可控的数据进行绕过
实际测试:
发现有两个可控参数,ok,接着测试,看是否有过滤
测试结果:
发现并未有任何过滤:
构造payload:
" οnclick=alert(1) type="text
总结思路:
在burp上,看请求包和响应包,看是否有输入和输出,
然后再cookie里发现,有输入,并且输入到浏览器上了,但是结果隐藏,但是可以构造payload,让他显示在浏览器上
第十四关
测试思路:
首先看网页有没有输入点, 观察之后,没有输入点
在burp上观察是否请求包和响应包是否存在相同内容? 观察之后,没有存在相同内容
疑问:
?????输入和输出点都没有,这怎么测,
iframe标签,我好像理解了一点了
看答案重新思考:
就是iframe标签里面,有个exif网站,这里主要是exif-xss漏洞,就是说上传一个图片,然后他会把图片信息输出出来,然后我们就需要在图片信息那里写入xss语句,就能实现xss弹窗
网站挂掉了????那就自己弄个网站,利用chatgpt简单写一个1.php脚本
我的网站路径为/test/1.php
php源码
<?php
if (isset($_FILES['image'])) {$exif = exif_read_data($_FILES['image']['tmp_name']);//echo "Image Description: " . $exif['ImageDescription'];echo '<pre>';print_r($exif); // 或 var_dump($exif);echo '</pre>';}
?>
<form method="POST" enctype="multipart/form-data"><input type="file" name="image"><input type="submit">
</form>
我是在另一个网站运行这个代码的,网站是这样的
注意事项:需要将phpstudy中的php_exif打开
然后随便创建个,.jpg文件,然后这里添加xss语句,<script>alert(1)</script>
打开网站,上传刚刚创建的jpg文件,然后成功实现弹窗
点击提交,成功实现弹窗,并能看到exif的详细信息
改变第14关源代码:
然后我就将14关源代码改了,改成我的那个地址
14关效果图,这个应该就是
iframe标签的效果了,他会将目标地址的网站,内嵌到14关的网页中
然后重新上传创建的xss_demo.jpg文件,选择提交
过关,但是不会自动跳转,没关系的,我自己点
总结思路:
通过得知图片的exif用法,配合chatgpt生成exif的源代码,创建网站,上传jpg图片,成功xss
知道了iframe标签的用法
注意:phpstudy的php扩展需要开启php_exif,