creativet 发表于 2022-2-17 14:34

【求助】逆向时在pycharm中打印结果是一串字符数字,但抓包软件中可以正常显示内容

逆向时,在pycharm中发送一个requests.post()请求(同时,使用charles进行抓包),对得到的结果进行打印。但打印结果在pycharm中显示的是一串字符数字,但在charles中可以正常显示内容。比较奇怪,有2个问题想请教大佬们 :

1、 如果返回的结果是加密的密文,那么为什么charles中又能正常显示? 测试全程没有使用浏览器,个人觉得也不是js进行加密解密。
2、有什么办法能解密?

大佬们有没有遇到过呀? 请指点一二。谢谢啦~~

creativet 发表于 2022-2-17 15:42

如果直接打印 resp.text,结果是乱码,所以我才想着打印resp.content看看的。

归隐小赵 发表于 2022-2-17 15:09

resp=s.post(xxx)
b=resp.text
print(b) #明文

print(response.status_code)# 打印状态码
print(response.url)          # 打印请求url
print(response.headers)      # 打印头信息
print(response.cookies)      # 打印cookie信息
print(response.text)#以文本形式打印网页源码
print(response.content) #以字节流形式打印
b2a_hex 将流转换为hex,自然是hex结果

creativet 发表于 2022-2-17 15:56

代码如下:

s = requests.session()
s.headers.update({
      "content-length": "151",
      "sec-ch-ua": '"Not A;Brand";v="99","Chromium";v="98","Google Chrome";v="98"',
      "accept": "application/json,text/plain,*/*",
      "content-type": "application/x-www-form-urlencoded",
      "sec-ch-ua - mobile": "?0",
      "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36",
      "sec-ch-ua-platform": "macOS",
      "origin": "https://www.ixigua.com",
      "sec-fetch-site": "cross-site",
      "sec-fetch-mode": "cors",
      "sec-fetch-dest": "empty",
      "referer": "https://www.ixigua.com",
      "accept-encoding": "gzip, deflate, br",
      "accept-language": "zh-CN,zh;q=0.9"
    })
url = 'https://ttwid.bytedance.com/ttwid/union/register/'
data = '{"region":"cn","aid":1768,"needFid":false,"service":"www.ixigua.com","migrate_info":{"ticket":"","source":"node"},"cbUrlProtocol":"https","union":true}'
resp = s.post(url, data=data, verify=False)
b = resp.content
print(b)

马了顶大 发表于 2022-2-17 17:15

乱码可试试输出 resp.content.decode(),默认是utf-8

ReLoading 发表于 2022-2-17 18:19

帮你改了一下,测试正常,顺便提一些建议

1.content-length 表示数据包的长度,不需要提交,程序会自己计算的,
2. requests 是可以一直接序列化json的,
3.headers的参数并不是都需要用到,查查相关资料,学好http协议基础

s = requests.session()
s.headers.update({
    "content-type": "application/x-www-form-urlencoded",
    "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36"
})
url = 'https://ttwid.bytedance.com/ttwid/union/register/'
data = '{"region":"cn","aid":1768,"needFid":false,"service":"www.ixigua.com","migrate_info":{"ticket":"","source":"node"},"cbUrlProtocol":"https","union":true}'
resp = s.post(url, data=data)
print(resp.json())

creativet 发表于 2022-2-17 23:19

ReLoading 发表于 2022-2-17 18:19
帮你改了一下,测试正常,顺便提一些建议

1.content-length 表示数据包的长度,不需要提交,程序会自己 ...

收到,谢谢你的建议。新手正在持续学习中。。。。
页: [1]
查看完整版本: 【求助】逆向时在pycharm中打印结果是一串字符数字,但抓包软件中可以正常显示内容