sqli~less5-8

SQL注入--布尔盲注

布尔盲注:页面只返回True和False两种类型页面。利用页面返回不同,逐个猜解数据

sql注入操作步骤
1.判断是否存在注入(判断是否未严格校验)--第一要素
1)可控参数的改变能否影响页面的显示结果
2)输入的sql语句是否能够报错,通过数据库的报错我们可以看到数据库的一些语句痕迹
3)输入的sql语句能否不报错,语句能成功闭合
2.判断什么类型的注入
3.语句能否被恶意修改 -- 第二个要素
4.是否能够成功被执行 --第三个要素
5.获取我们想要的数据

less-5操作过程

1.输入id=1看页面是否发生变化,可以观察到,我们输入的可控字符确实与数据库发生了交互,但是他没有告诉我们我们的登陆结果,而只是you are in......

 

 

 

 2.输入错误的sql语句,例如添加一个单引号,测试

 

 3.确定一下列数

 

 

 

 4.初步推测出sql语句为 select 1,2,3 from 表 where id = ‘?’ limit 0,1.;

5. 可以直接使用or 使id = -1 为假 ,后边条件为真,利用抓包工具抓包改包,暴力破解出我们想要的东西

  1)获得当前数据库中的第一个表名称,先抓包

 

   2)将抓到的包,发送到lntruder模块进行暴力破解,选择攻击模式4,利用当前拼接的sql和ascii表,来确定数字对应的ascii字符,从而判断出表名

 

   3)根据查ascii表和破译出来的数字对应,可以得到第一个表名为email

 

   4)我们还可以继续破解,得到表中的一些数据。

less-6操作过程

1.输入id=1和id=2看看页面是否发生变化

 

 

 

 

 

 依然是you are in.......

2.我们输入错误的sql语句,例如添加一个单引号,发现单引号没有引起页面的变化

 

 输入双引号测试

 

 3.当我们知道他是什么类型的注入的时候,就可以知道如何进行注入,添加注释符,注释掉后边的sql,先判断下一共有几列数据

 

 4.使用抓包工具,在less5我们破解了第一个表名,接下来我们破解下users表中的第一个username字段的第一行数据

  1)先抓包

 

 

 

 

   2)将抓到的包发送到lnstrude模块进行暴力破解,Dumb破解成功

 

 

less7操作过程

 1.测试是否能够通过输入可控字符来使页面发生变化(由于08虚拟机上的环境不能够进行文件上传,所以只能用xss的虚拟机上的环境了)

 

 经过测试,发现是可以的。

2.输入错误的sql,比如添加一个单引号来使sql产生错误,我们可以看到,他也提示我们sql存在错误,但是并不告诉我们错误是什么,也就没有暴露出一些sql语句的痕迹,这样我们只能进一步猜测。

 

 3.添加一个注释符,看是否存在错误,我们添加完成注释符之后,还是存在错误。

 

 4.接下来可以试试添加一个两个括号,当我们添加括号为2个的时候,发现页面回到了正常的情况,由此,我们可以推断,这个sql的闭合是由两个括号和一对单引号来进行闭合的。

 

 5.使用order by来确定存在几列数据,可以得到存在三列数据

 

 

 

 6.使用文件上传,传入一句话木马(虽然他提示存在错误,但是实际上我们已经上传了)

 

 

 

 7。接下来就是使用中国菜刀,进行连接

 

 

less-8操作过程

1.less8和7差不多,唯一不同的是闭合方式为单引号闭合,我们直接利用less5的方式,获取第一个表的名称,结果如下

 

posted @ 2020-01-29 17:00  pangsong666  阅读(241)  评论(0编辑  收藏  举报