首页 > 数据库技术 > 详细

pikachu SQL部分(中)

时间:2020-04-06 09:53:48      阅读:170      评论:0      收藏:0      [点我收藏+]

 

6.information_schema注入

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 

  详细的各个表的位置

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 

  用字符型的来进行场景演示

  和当初的sqli-lab流程差不多,先输入一个值,找到注入点(单引号),注释掉,order by ,union select , 查库查表查字段查信息

技术分享图片

 

 

技术分享图片

 

 

 

 

 

技术分享图片

 

  kobe‘ union select database(),user()#

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   拿到对应的数据。第一条是数据库名,第二条是表名

 

技术分享图片

 

 技术分享图片

 

   第一条是表名,第二条是字段名

 

技术分享图片

 

 技术分享图片

 

   拿到字段的值

 

  这个数值一看就是加密过的,md5加密,我们可以到互联网上找一些彩虹表,去碰撞来解出它的明文。

技术分享图片

 

 技术分享图片

 

 

 

7.基于函数报错的注入

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 

  select下报错的利用显示(还是使用字符型注入)

  我们要使用报错注入,一定是在输入点输入一个错误的语法会有错误进行返回。

技术分享图片

 

 技术分享图片

 

 

  依次演示结果

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 

  语句

技术分享图片

 

 

 

8.基于insertupdatedelete的注入

 

 

  insert/update注入场景演示

技术分享图片

 

 技术分享图片

 

   所谓insert,就是前端注册的信息最终会被后台通过insert操作插入到数据库里。

 

  随便测试一下

技术分享图片

 

 技术分享图片

 

   会进行报错

 

  insert原理

技术分享图片

 

 技术分享图片

 

   找闭合处尽量找带有单引号、括号之类的地方进行闭合。

 

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   出现报错(其他的还是把database()处换成其他语句即可)

 

  update

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   出现报错

 

  delete相关

技术分享图片

 

   与之前的存储型xss有些相似

 

  使用抓包攻击看一下

  点一下删除,看看抓取的数据

技术分享图片

 

   看一下这个请求,我们会发现这其实是把留言对应的id传到了后台,后台就把id对应的留言删除。

 

  查看一下源代码

技术分享图片

 

 

  发送到repeater,在这里我们可以把id进行闭合操作

  因为传入的是一个id,是数字型的,所有我们不用用单引号进行闭合,直接构造即可

技术分享图片

 

 

  因为参数是在url里提交的,所以我们要对构造好的语句进行一个url的编码(encode),否则这一整段并不是url

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   出现报错

 

 

  其他报错方式

技术分享图片

 

   updatexml差不多,使用效果是一样的

 

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   出现报错

 

  floor函数(取整的效果)

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   a的意思是给前面的语句取了一个别名叫a

  拼接的语句就是从concat后(第三张选中的部分)开始。

 

技术分享图片

 

   会出现报错

 

  演示一下

技术分享图片

 

 技术分享图片

 

   admin的密码爆出来。

 

 

 

 

9.http header注入讲解

技术分享图片

 

 

  场景演示

技术分享图片

 

 技术分享图片

 

 

  抓一下包试试看(一般涉及到post类型,都要进行抓包)

技术分享图片

 

 

  把刚刚打开页面的请求发送到repeater

技术分享图片

 

 

  因为后端对前端的user agent进行了获取,所以我们直接在这进行拼接。

 

  先提交一个单引号看会不会报错

技术分享图片

 

   出现了报错,说明存在注入漏洞

 

  一般获取到user agentinsert到数据库中,所以我们就用insert 来进行注入(or updatexml

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   成功

 

  这是其中一个注入点,还有一个是Cookie

  这个应该是一个登录的cookie,有用户名和密码

  在用户名这里进行测试

技术分享图片

 

 技术分享图片

 

   出现报错,说明有注入点

 

  直接进行报错注入

技术分享图片

 

 技术分享图片

 

   成功(记得注释)

 

 

 

10.sqli盲注原理以及基于boolean(真假)盲注的演示

技术分享图片

 

 技术分享图片

 

 

  基于Boolean的盲注场景演示

技术分享图片

 

 

  随意尝试

  单引号:

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

   也是不存在

 

技术分享图片

 

 技术分享图片

 

   成功

 

技术分享图片

 

 技术分享图片

 

   不行

 

  这个的提示特别少,只有正确的时候才会返回一个东西,错误也只返回用户不存在。就算输入之前的报错注入语句也不行,说明这就是盲注。

  我们要使用到另外一些函数,通过判断大小来进行猜解

技术分享图片

 

  substr(database(),1,1);   取数据库中的第一个的第一个字符串

  ascii();   将取到的值转换成ascii码值

  通过数值的判断进行猜解

  提交一个比较的payload,通过返回的结果来进行猜解。

  盲注猜解非常的麻烦,所以我们这里只要掌握盲注的原理。后期是可以借助工具来进行的。

 

  如何知道我们要猜解多少次才能获取到数据(length()函数进行长度判断)

技术分享图片

 

   这个同样是要通过判断来进行猜解

 

  盲注这里要使用and ,不要用or ,因为无法判断,需要两个条件都为真才可以

技术分享图片

 

 

pikachu SQL部分(中)

原文:https://www.cnblogs.com/zhaihuijie/p/12640141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!