用于记录我在buuoj刷题学到的东西. 不属于wp, 只用来记录知识点.
更新中
2020/02/19
0x0F [BSidesCF 2019]SVGMagic
- 装成图片渲染写马的xxe
- 把xxe的payload改成.svg就行了
- 其中flag在当前目录下
- 要利用到当前进程目录储存在Linux系统中的/proc/self/pwd目录下的特点
2020/02/12
0x0E [极客大挑战 2019]EasySQL
- sql注入, 万能密码
admin' or 1=1#
0x0D [极客大挑战 2019]Havefun
- 实质上是个misc题, get一个参数获得flag
2020/02/10
0x0C [SWPUCTF 2018]SimplePHP
- 给了源码, 不过看别人wp似乎是利用任意文件读取泄露源码的.
- 审计, 出现
file_exists($file)
函数, 并且file变量中没有过滤:, /, phar
可以利用phar反序列化攻击 - 继续审计, 存在
C1e4r->Show->Test
类的pop链, 可以进行任意文件读取. - 本地构造phar文件上传, 再利用file那边的
phar://
协议进行触发, get flag. - phar反序列化详细还请参见我写的博客.
0x0B [BJDCTF2020]EasySearch
- vim源码泄露, .swp文件下载源码
- 拿到源码后就很简单了, 源码审计下.
- md5校验密码, 没有对用户名做限制, 直接爆破密码.
- 用户登录日志存到.shtml文件里
- 利用.shtml的执行命令语句执行
<!--#exec cmd="cat ../*"-->
- 访问.shtml页面(在响应头里), 得到falg
bef 2020/02/10
0x0A [2020 新春红包题]1
- 反序列化
- wp参见这里
- 利用php://fliter进行base64转码绕过文件中的<?php exit();?>
0x09 [CISCN2019 华北赛区 Day2 Web1]Hack World
- 使用if进行布尔型盲注
- 过滤空格的情况下可以使用%09 %0a %0b %0c %0d等绕过
0x08 [SUCTF 2019]CheckIn
- 上传.user.ini进行文件包含
- 传图片马来getshell
0x07 [RoarCTF 2019]Easy Calc
- 构造畸形http包绕过waf
- 在参数前加空格绕过waf
- 利用chr()将被过滤的字符转换出来
0x06 [强网杯 2019]高明的黑客
- fuzzy就完事了
- 面试的时候被问到这题……
0x05 [HCTF 2018]admin
- 存在多种解法
- flask的session加密不严, 并且是保存在本地的, 可以解密篡改
- 使用unicode多次解码欺骗, 修改amdin密码
- 条件竞争修改密码
0x04 [SUCTF 2019]EasySQL
- 堆叠注入
- sql_mode 定义了支持的 SQL 语法,以及应该在数据上执行何种确认检查,其中的 PIPES_AS_CONCAT 将 || 视为字符串的连接操作符而非 “或” 运算符
- 服务器上应该是类似于将select的数据和flag做了||运算, 返回结果
- 将||改为连接后就变成返回select结果+flag.
0x03 [护网杯 2018]easy_tornado
- python tornado模板注入
- render()函数渲染
- 利用{ { } }注入模板, 带出secret cookie, 完成文件签名.
0x02 [强网杯 2019]随便注
- 堆叠注入
- 使用重命名表名的方法带出falg
0x01 [HCTF 2018]WarmUp
- CVE-2018-12613
- 代码审计可以发现漏洞
- 考虑过于周全, ?前的字符串只要是白名单中的就能放行.