刷题记录
为了备战校赛work一下(
WEEK1
[HCTF]warmup
F12查看发现source.php源码访问hint.php可以发现
flag not here, and flag in ffffllllaaaagggg
代码审计环节,接受file参数
1 | |
可以看到白名单只有$whitelist = ["source" => "source.php", "hint" => "hint.php"];
但是
1 | |
截断绕过白名单
payload:?file=source.php?/../../../../ffffllllaaaagggg
因为不知道flag的具体位置所以目录穿越
[BJDCTF 2020]The mystery of ip
查看flag.php,给了一个ip。
yakit抓包更改X-Forwarded-For,有回显,ssti注入执行

这是个php的模板引擎注入,使用smarty模板
1 | |
所以可以用类似于php标签的形式完成注入。{if phpinfo()}{/if}
[极客大挑战 2019] Havefun
F12看注释改参数cat=dog即可
[SUCTF 2019] EasySQL
输入数字回显全为1,其他也过滤为nonono
参考其他师傅的wp,推测后端代码为
1 | |
version 1
1 | |
在 SQL(结构化查询语言)中,星号(*)是一个通配符,用于表示“所有列”。这是 SQL 标准的一部分,被所有主流关系型数据库(如 MySQL、PostgreSQL、Oracle、SQL Server 等)广泛支持。
所以这里的*会选取flag表中的所有列,同时1||flag作为一个表达式列。由于*已经包含了flag列,查询结果会直接显示flag字段的内容。因此,输入*,1即可得到flag。
version2
堆叠注入
1 | |
将管道符改为连接符
1 | |
执行三条语句即可
[强网杯 2019] 随便注
终于碰见一个可以用梭的题了吗?
1 | |
并非,只能梭出来supersqli数据库,但是库里没表,感觉被骗了(
实际使用堆叠注入发现不止这个库,然后查查表
1 | |
也可以通过更改表名获取flag
1 | |
感谢参考师傅
1 | |
[CISCN 2019 华北赛区 Day2 Web1] Hack World
fuzz测试可以sleep(5)有回显,时间盲注
基于用ascii码计算单个字符的范围限定实现注入。
1 | |
写个盲注的脚本就可以注出来了(
reflection
- 打了几个sql注入,最大的感受是sqlmap作为一个梭不能很好地发挥作用,实际还是要手动测试才能实现注入(也有可能是我不会用吧😭
- 代码审计也是很久没看了,但是白盒且短篇幅的审计还是比较好构造的
- php的模板注入还是第一次见,之前都打的是python的模板注入