跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

前段时间一直想抓web指纹,发现手动抓的残缺不全还不准确。后来想抓云悉
指纹没有做。现在正好有时间爬了。

 

正文:

我们首先来抓包,分析一下URL
云悉:http://www.yunsee.cn/

LXEWIFX.png

有type,url,string,_token。这几个参数

通查看网页源代码可以得出,string的参数是固定的。
而_token是可以从网页源代码获取的。
url是你自己的
type是cms查询的类型,还有一个查whois的

 

然后可以得出思路:

1.利用正则的search搜索功能抓取_token
2.过滤掉_token一些无关紧要的符合
3.组成参数
4.经过循环并且加入字典
5.发送post请求并带上参数
6.解刨json数据

 

代码:

import requests
import threading
import re

def zhuaq(urls):
user=input('url:')
data={}
data2={}
headers={'user-agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'}
url2='http://www.yunsee.cn/home/getInfo'
reqts=requests.get(url=urls,headers=headers)
search=re.search('_token:.*',reqts.text)
token='{}'.format(search.group()).replace('}','').replace(',','').replace('"','').replace(':','').replace('_token','').strip()
datas='type=webcms&url={}&_token={}'.format(user,token)
datas2 = 'type=webinfo&url={}&_token={}'.format(user, token)
for v in datas.split('&'):
    key,value=v.split('=',1)
    data[key]=value

reqvs=requests.post(url=url2,headers=headers,data=data)
jsons=reqvs.json()

for v in datas2.split('&'):
    key, value = v.split('=', 1)
    data2[key] = value

reqvs2 = requests.post(url=url2, headers=headers, data=data2)
json2=reqvs2.json()

print('url:{}'.format(user))
print('whois_dns:{}'.format(json2['res']['whois_dns']))
print('icp_name:{}'.format(json2['res']['icp_name']))
print('ip:{}'.format(json2['res']['ip']))
print('language:{}'.format(json2['res']['language']))
print('whois_mail:{}'.format(json2['res']['whois_mail']))
print('os:{}'.format(json2['res']['os']))
print('cdn:{}'.format(json2['res']['cdn']))
print('server:{}'.format(json2['res']['server']))
print('record_id:{}'.format(json2['res']['record_id']))
print('whois_isp:{}'.format(json2['res']['whois_isp']))
#print('LLC:{}'.format(json2['res']['LLC']))
print('whois_date:{}'.format(json2['res']['whois_date']))
print('create:{}'.format(json2['res']['create']))
print('icp_id:{}'.format(json2['res']['icp_id']))
print('whois_name:{}'.format(json2['res']['whois_name']))
print('idc:{}'.format(json2['res']['idc']))

print('cms:{}'.format(jsons['mess']))
for reqs in jsons['res'][0:]:
    print('desc:{} name:{}'.format(reqs['desc'],reqs['name']))
def run():
    url = 'http://www.yunsee.cn/'
    t=threading.Thread(target=zhuaq,args=(url,))
    t.start()
if __name__ == '__main__':
    run()测试效果图:
74eBaKb.png

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。