首页 > 其他 > 详细

POST注入-双注入

时间:2020-03-20 09:05:20      阅读:108      评论:0      收藏:0      [点我收藏+]

Less-11

双注入(来自b站大佬视频https://www.bilibili.com/video/av77851975?t=26&p=7

1.首先随便写一点 然后直接抓包

技术分享图片

 

 可以看见报错了

技术分享图片

 

 这个时候我们加个单引号,然后分析后台报错得语句

技术分享图片

 

 技术分享图片

 

 可以看见我们只看见了passwd得语法问题 没有看见uname得报错  我们初衷就是要加单引号,通过报错看看uname得语法

所以加一个双引号看看

技术分享图片

 

 这个时候后台报错就出来了

技术分享图片

 

 这个时候想办法让他不报错直接admin‘# 闭合单引号

技术分享图片

 

 可以看见不报错了

然后用order by测试列数(用二分法)

最后才测到是2

技术分享图片

 

 然后union select联合查询

技术分享图片

 

 可以发现不显示内容 只能看见有没有报错,那么我们就没办法通过回显数据来查询我们想要得数据

所以 得换新方法!!

回到我们第一步报错得地方

思路就是 既然他能通过报错去暴露一些语法信息  那么能不能通过报错去暴露一些敏感信息呢

可以 就是今天的方法 双注入(也就是注入里面会用到两个select)

技术分享图片

 

 

floor(rand()*2)这个意思就是在0和1里面取随机值 floor是取整数位,这个的目的就是要出现重复组件

技术分享图片

 

 

count(1)是统计行数

group by 的意思是分组,把所有的列按照属性进行分组

比如(下图的意思就是要统计所有mysql数据库的每一个数据库里面有几个表,group by table_schema 的意思就是按照table_schema进行分组)

         (count(1)是统计行数)

技术分享图片

 

 

画图展示其原理

先建立临时表 挨个查询,(此处建议看视频)

技术分享图片

 

 

 

 

为什么是这个结果呢 ?

当mysql里面一个表里面出现两个数据相同的时候,会提示这样的错误叫重复条目(因为组件冲突了)

这个时候我们使用concat的

技术分享图片

 

 可以看出当我把版本信息这个组件加入的时候,组件冲突,mysql表就报错了,同时把这个值内容爆出来了

那我们就换 把version()改为database(),数据库就出来了

技术分享图片

 

 好 双select来了

技术分享图片

 

 可以用group _concat()但是这里group _concat()不行 于是就limit一行一行来(这个limit之前讲过在post单符号注入)

技术分享图片

 

 可以爆出第一个表emails

技术分享图片

 

 技术分享图片

 

 limit 4 ,1就爆不出了 说明里面有三个表

再去爆字段

技术分享图片

 

 技术分享图片

 

 再去爆字段的值

技术分享图片

 

 技术分享图片

 

 再去看看users表中id的字段

技术分享图片

 

POST注入-双注入

原文:https://www.cnblogs.com/cat47/p/12528841.html

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