您现在的位置是:烟消火灭网 > 探索
ctfweb思路
烟消火灭网2026-10-17 07:42:54【探索】7人已围观
简介```html ctfweb思路 ctfweb思路 看到登录框先别急着sql注入。我上次打比赛,一个站点的登录口,admin' or 1=1-- 返回“密码错误”,换成 admin'# 直
ctfweb思路
看到登录框先别急着sql注入。思路我上次打比赛,思路一个站点的思路登录口,admin' or 思路1=1-- 返回“密码错误”,换成 admin'# 直接进了。思路为什么?思路后端用了 mysqli_real_escape_string,单引号被转义,思路但 # 在MySQL里是思路注释符,没被过滤——因为过滤函数只处理了引号,思路忘了注释符。思路这说明:不要背payload,思路要读代码逻辑。思路ctfweb的思路核心从来不是工具堆砌,是思路理解数据怎么从你手里流到数据库、文件系统或者命令行。思路
信息收集阶段,很多人只扫目录。我习惯先看HTTP响应头。Server: nginx/1.18.0 加上 X-Powered-By: PHP/7.4.3,直接告诉你后端语言和版本。如果看到 Set-Cookie 里有个 PHPSESSID,那session文件大概率在 /tmp 或者 /var/lib/php/sessions。有一次比赛,题目给了源码,但flag在环境变量里。我通过 phpinfo() 页面找到 $_SERVER['FLAG'],直接读出来。别小看任何回显,一个报错信息可能泄露绝对路径,一个 X-Forwarded-For 头可能触发SSRF。
说到SSRF,去年强网杯有个题,参数是 url=,直接 file:///flag 被ban了。试了 gopher:// 打内网redis,写shell没成功。后来发现过滤只检查了字符串开头,用 http://127.0.0.1@file:///flag 绕过了——解析时 @ 前面是用户名,后面才是主机,但PHP的 parse_url 会取 file 协议。这种trick靠的是对URL解析器差异的理解,不是字典。
文件上传也是重灾区。前端JS校验 Content-Type,抓包改成 image/png 就过。后端如果只检查后缀,试试 .php5、.phtml、.phar。有次题目黑名单了 php,但没禁 php7,直接传 shell.php7,Apache解析成PHP。更骚的是用 .htaccess 把 jpg 当PHP执行。这些不是背出来的,是看中间件配置猜的。Nginx默认不解析 .php 以外的,但如果你能传 .user.ini,配合 auto_prepend_file 也能getshell。
命令执行那块,system('ls') 被过滤了空格和分号。用 ${ IFS} 代替空格,%0a 代替分号。或者 cat$IFS/flag。如果连 cat 都禁了,试试 tac、nl、sort。有次比赛过滤了所有字母,只能 /???/????? 这种通配符。最绝的是用 base64 编码命令再 echo ... | base64 -d | bash。这些思路来自对Linux shell特性的熟悉,不是CTF专属。
反序列化现在越来越常见。PHP的 __wakeup 绕过用 C:11:"ArrayObject":0:{ },或者修改属性个数。Java的 readObject 链子,从 CommonsCollections 到 Fastjson,本质是找 InvokerTransformer 这种能反射调用的类。我打Java题喜欢先看 pom.xml 依赖版本,fastjson 1.2.24 直接上 JdbcRowSetImpl JNDI注入。但新版本加了 safeMode,就得找其他gadget。这玩意没捷径,只能跟CVE。
最后说逻辑漏洞。支付金额改成负数,数量改成 1e10,优惠券叠加使用。有次题目是修改密码,抓包发现 user=admin 可以改成 user=admin%00,后端截断后变成admin,但校验时用的是原始字符串。这种漏洞扫描器扫不出来,只能靠手工测。ctfweb打多了,看到参数就想:这里能不能越权?能不能重放?能不能类型混淆?
别指望一套payload通杀。每道题都是新环境,新配置,新过滤。思路比工具重要,耐心比手速重要。我见过太多人拿着sqlmap扫半天,不如静下心读两行源码。
```很赞哦!(56912)
上一篇: 诈骗视频免费下载







