0%

buuoj刷题记录

  用于记录我在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
  • 代码审计可以发现漏洞
  • 考虑过于周全, ?前的字符串只要是白名单中的就能放行.