三、代码
在这里呢,那些比较恶意的代码就不放出来了,来几个好玩的吧,比如发说说啥的。
3.1利用python发说说代码:
import re import time from random import random import requests # Hash33算法 def hash33(t, e=0): for i in range(len(t)): e += (e << 5) + ord(t[i]) return 2147483647 & e # 用于登陆获取Cookie def login(): ss = requests.session() url = 'https://ssl.ptlogin2.qq.com/ptqrshow?appid=549000912&e=2&l=M&s=3&d=72&v=4&t=' + str( '0.' + str(int(random() * 10000000000000000))) response = ss.get(url=url) with open('qrcode.png', 'wb') as f: f.write(response.content) cookie = response.cookies headers = requests.utils.dict_from_cookiejar(cookie) print(headers) while True: url = f'https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html' f'%3Fpara%3Dizone%26from%3Diqq&ptqr' f'token={hash33(headers["qrsig"])}&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-0' f'-1542784335061&js_ver=10289&js_type=1&login_sig=hn6ZiMZRPT8LWFsFG3MrScznzLVrdbwS9EIo-ihAmeD' f'*YmOfqP3uoI6JytVVQYw2&pt_uistyle=40&aid=549000912&daid=5& ' html = ss.get(url=url, headers=headers) type = re.findall('[u4e00-u9fa5]+', html.text)[0] if type == '二维码未失效': print(type) elif type == '二维码认证中': print(type) elif type == '登录成功': print(type) return html.cookies else: print("二维码已失效,请重新扫码!") login() time.sleep(2) # 主体,用来发送说说的 def send(): headers = { 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8', 'origin': 'https://user.qzone.qq.com', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/83.0.4103.61 Safari/537.36', } cookie = login() cooksdict = requests.utils.dict_from_cookiejar(cookie) content = input("请输入说说内容:") qq = input("请输入你的QQ:") res = requests.get(url=f'https://user.qzone.qq.com/{qq}/infocenter', headers=headers, cookies=cookie).text # 获取qzonetoken的页面源码 qzonetoken = re.findall('{ try{return "(.*?)";}', res)[0] # 解析出qzonetoken g_tk = hash33(cooksdict['skey'], 5381) # 从Cookie中获取g_tk url = f'https://user.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_publish_v6?qzonetoken={qzonetoken}&g_tk={g_tk}' data = { 'syn_tweet_verson': '1', 'paramstr': '1', 'pic_template': '', 'richtype': '', 'richval': '', 'special_url': '', 'subrichtype': '', 'who': '1', 'con': content, 'feedversion': '1', 'ver': '1', 'ugc_right': '1', 'to_sign': '0', 'hostuin': qq, 'code_version': '1', 'format': 'fs', 'qzreferrer': 'https://user.qzone.qq.com/' + qq, } response = requests.post(url=url, headers=headers, data=data, cookies=cookie) print(response.status_code) if __name__ == '__main__': send()
成功截图:
4.2 盘他
继续抓包分析,账号密码随便输入之后,
然后他提示密码错误,好吧那就来复杂一点的虚假信息。可以看到他这时候跳转到了官方页面,掩人耳目,让你不知道自己的信息已经泄露了。
然后分析一下这个记录
这是一个get请求,账号密码都携带在请求url中,这样的话,我们只需要不断生成随机信息,请求过去,这样他就会不断接受到你发的虚假信息了。
能看到这里说明,你厉害,欢迎来我的博客转转百度搜索:Lan的小站,第一个就是哦,或者直接访问https://www.lanol.cn
评论 (0)