对于多数小白来说,thor给他们的印象就是一款专门石皮女且的软件,很强大,但是网上的教程不多,对其中各个命令用途也不是很清晰,本文对于Thor的命令做一个简单的介绍,至于具体用途,权当是抛砖引玉了。
先来看一下thor软件开发者是怎么形容这款软件的:
Thor 是一款专注于 HTTP 网络开发调试,无网络相关基础及专业用途请谨慎购买。所有功能以商店描述为准,切勿凭空想像,购买前请务必阅读以下简介:
Thor 并非万能,只工作在系统 HTTP 层: 不支持非 HTTP 流量(TCP, UDP)及不经过系统 HTTP 代理的流量
总结起来就3个意思
- 是一款http网络开发调试工具
- 具有一定的专业性
- 并不是万能的
正如作者所说,这款软件重在抓包分析和调试,石皮女且并不是它的强项,我是眼镜叔,今天我来分享一下thor命令的具体意思和用途的思路,本文百家号独家首发!
本文共3080字,阅读时长约10分钟。(都是干货,10分钟能解决你的大问题,建议收藏)
文章大纲
- Thor命令大全
- 常见的命令及用途
- 其他功能
Thor命令大全
通过一张图先来看看锤子都有哪些命令以及它们的含义。
这里你得先明白什么是请求,什么是响应。
请求简单的说就是我们在上网的时候,随意的一个点击,你看到的只是一个按钮和一个点击动作,实际过程它是一串数据发送到了服务器,来告诉服务器它想做什么,这就是一个请求。
响应是相对于请求来说的,是指服务器根据你的请求,给你一个回应。
在thor里的命令是有请求与响应之分的,请看下图。
编号1-8是修改和请求有关的命令。所以制作规则的时候,如果你想修改请求,那么编辑断点那里只能选择“TCP连接前”、“请求头发送前”、“请求消息体发送前”这3个请求阶段,而对应的命令只能是选择1-8项这8个命令。
编号9-11是修改和响应有关的命令。所以制作规则的时候,如果你想修改响应数据,那么编辑断点那里只能选择“响应消息体回传前”、“响应头回传前”、这2个请求阶段,而对应的命令只能是选择9-11项这3个命令。
你记不住没关系,你可以简单记一下,req是request的简写,代表请求,rsp是response的简写,代表响应。
关于这些命令的具体用途,本文只提供一个思路,用法不止一个。
常见的命令及用途
- ^@rsp.bodyText 修改响应体
body我相信只要上过9年义务教育的都知道是身体的意思吧,text是文本,加上rsp,就是响应消息体。这是一个特别常用的功能,相信只要接触过thor的应该都用过这个命令吧,但凡是石皮女且的规则,99.9999%都是用到了这个命令,具体使用方法不赘述了,相信你们用的比我还溜。
题外话:
其实我觉得thor石皮女且可能就是一个完美的误会,只是有人在调试网络数据的时候,意外发现了通过修改响应体不同的数值,响应体会赋予软件不同的权限,而软件却不会去验证这个响应数据的真假。从而让我们达到了石皮女且的目的。在ios相对封闭的环境下,这种方法简直是不越狱的神操作,神器称呼自此而诞生,且越传越邪乎,说的好像thor上天入地,无所不能似的。其实这种靠修改响应数据来达到石皮女且的目的差不多是5-6年前的产物了,现在多数软件已经不通了。
所以小白们不要把thor想象成一个专门石皮女且的软件,thor只是一款抓包工具且具有一定的专业知识。
扯远了,继续本文。
- ^@req.header修改请求头
还是那句话凡是有点英文基础的,也知道header是头的意思,加上req是请求的意思,很明显就是请求头啊,
具体的用法是^req.header[“请求头的键”]“正则匹配到的请求头的值”“修改后的值”像是前几篇文章所讲的另一种石皮的方法,通过替换cookie来达到石皮的目的,就用到的这个命令,只要你有会员cookie,它能通杀市面上大部分软件。下图只是展示了替换cookie的效果,你可以举一反三。
- ^@req.host修改主机名
^@req.host这个命令与^@req.api可以结合使用,替换主机名和api接口。一般用于一些新旧软件交替的时候,用这个命令来到达一些特殊的石皮女且效果。这么说可能大伙听不明白,举个例子:某款学习软件,上一个版本是免费的,到了现在这个版本就改成了收费的,但没升级新版软件的用户依然可以使用旧版软件,这就表示旧版接口依然可用,我们可以通过替换新版软件的主机名和接口来实现用新版软件使用旧版接口,从而达到免费使用的目的,这不就是变相地完成了石皮女且吗。看下图,这个规则里还用到了更改请求方式(第一条),更改api接口(第二条),更换主机名(第三条),删除某项请求头(第四五六条),修改请求头里的用户标识(第七条)最后一条是修改请求头里还加了变量的形式。
- ^@req.bodyText修改请求体
这个命令是用来修改请求体的。比如早些年1分钱买手机,充话费,就是用到的这种方法,别一看到买手机就兴奋,现在这种方法已经凉了(别怪我没提醒,这个可是能被请去喝茶的,请谨慎研究!)。还有哪些场景可用呢?可以用于那种仅通过设备码来注册新用户的软件,比如某些科学上网软件,新用户免费试用1天,通过修改请求数据里的设备码就能实现无限注册新用户,来达到无限期试用的目的。如下图,只要修改请求里的设备码,就能无限注册新用户,抛砖引玉,其他场景自行研究。
- ^@req.url修改请求网址
这个命令可以用来修改网址,比如我们可以调用视频解析接口来播放一些某奇艺,企鹅视频,某酷等会员视频,应用场景还有很多,这里只介绍下命令是什么意思。但是锤子有白名单限制,有些域名不生效。唉白名单啊,恶心到家了。
- ${名字} 变量的意思
变量这个功能在thor里不太常用,很多新手朋友也不明白这个变量到底怎么用,听过娓娓道来:变量主要用于能够方便的替换某些可以变动的数据,比如有些软件会员类型分为普通VIP、超级SVIP、VIP Pro,对应的代码分别为1、2、3,那我们就可以设置一个变量,具体的用法是${会员类型},{}里的会员类型这4个字是可以自定义的,如果你愿意,你可以打成${aaaa}都行,这样在过滤器里就可以根据你的需要去填入你想用的会员代码。再比如有软件需要定位打卡,我们抓包后就可以把经、纬度设置成2个变量,方便我们填写不同地方的经纬度,要不然你还想改一次地方再重新做一个规则吗?
其他的功能
- @break之去广告功能
@break,这个命令是禁止访问的意思,利用它,我们可以抓一些广告的域名,或者广告的api路径,亦或者某款软件有验证请求路径,我们都可以终止它的请求,不让它访问网络,既然它不能不访问网络,所以也就不可能有服务器响应,因此来实现去广告的目的。
小提示:
1、广告一般都是以ad字样开头的。
2、特别说明:我不建议新手小白利用域名去广告,因为你不能判断真正的广告域名是什么,反而很容易把qq.com、baidu.com等常用的域名添加进去,那样你的QQ、百度将会无法访问网络。
- 主要功能还是抓包,关键在分析。
比如你喜欢的一款视频,但是页面没有下载按钮,无法保存,怎么办?那你就可以抓包试试,兴许就能抓到,那就可以用下载工具下载下来。抓包能利用的场景太多了,还能抓某些直播,你懂的吆!
总结
Thor的主要功能是抓包而不是石皮女且,虽然它现在有白名单限制,还有很多包抓不到(不是它抓不到,是目标软件不让它抓),但它界面简洁,功能众多,依然是很好用的分析利器。能否让Thor火力全开,完全要靠你的分析能力,也就是说你越强它就越强!
好了,以上就是眼镜叔自己的一些使用心得!关注我,了解更多抓包小技巧,如果你有抓包这方面的问题,欢迎下方评论留言。
评论前必须登录!
立即登录 注册