0x01 原理介绍 抓包顾名思义就是对于客户端与服务器端之间建立一个“中间人”,从而对数据对网络传输的数据进行编辑和重放以及转存,当然也可以应用于网络安全调试,比如模拟弱网络环境从而调试一些app在非正常场景中的工作性能。当然,作为一个业余人员,也可以进行一些有趣的操作,如软件PJ、页面改写以及一些“数字”的改写,下面会详细讲到! 0x02 基础知识(1) Android端:Httpcanary (2) Ios端:Thor (3) Windows:Fiddler、wireshark (4) Linux:Tcpdump (1)GET方法:常用,获取资源,请求url指定的资源文件。 (2)POST方法:常用,传输实体的主体。 (3)PUT方法:传输资源,保存到url指定位置。 (4)DELETE方法:删除文件,与PUT相反。 (5)HEAD方法:与GET类似,不返回报文主体。 (6)OPTITION方法:查询url指定资源支持方法。 1xx: (临时响应)表示临时响应并需要请求者继续执行操作的状态代码。 例子:100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 2xx: (成功)表示成功处理了请求的状态代码。 例子:200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 3xx : (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。 例子:301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或HEAD请求的响应)时,会自动将请求者转到新位置。 4xx : (请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理。 例子:404 (未找到)服务器找不到请求的网页。 5xx : (服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。 例子:500 (服务器内部错误) 服务器遇到错误,无法完成请求。 600 : 源站没有返回响应头部,只返回实体内容。 JSON格式取代了XML给网络传输带来了很大的便利 , JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用的带宽。 JSON语法学习:https://www.runoob.com/json/json-syntax.html(内容较多,故不再赘述) JSON格式化工具:https://c.runoob.com/front-end/53/(改写的数据可以使用此工具校验) 相信具备了初步的理论知识,已经能够对于抓包软件界面显示的http方法和响应码拥有了全面的了解,如GET方法就是请求服务器资源,500响应码就是服务器错误。 0x03实战演练(以httpcanary为例)①打开httpcanary,设置微信为目标程序,并打开右下角开关。 ②微信内打开任意推文,切换为httpcanary右上角搜索第一条评论关键词。 ③搜索结果一般为一条,长按点击重写,编辑重写器名称。 ④点击响应→响应体→在线编辑→修改目标文本→右上角保存。 ⑤切换为微信,点击刷新,即可显示刚刚修改的文本。 如今网络安全愈发重要,app的攻防技术也在不断进步,各种app加固混淆层出不穷,如大家常见的某60加固,脱壳修复再分析需要花费很长的时间,因此我们可以另辟蹊径,抓包就是一个巧妙的方式,但是有的app也进行了反抓包措施,比如某道词典,就需要JustTrustMe模块才能够抓到数据。 由于此类网上教程颇多,便不再演示。大多数是进行赋值vip到期日,搜索“会员、vip”关键词即可。部分软件为激活码授权方式,则可以通过抓包与任意手机的IMEI进行匹配授权,如ksweb好像也可以通过抓包方式进行授权,,有兴趣可以多多交流。 这是在去年12月一个应用调试中找到的漏洞,不得不说网络安全随处都在,目前已向该厂商反馈。 这是实验后的截图,本来该程序采取的策略是达到一定门槛后返还,这是直接无视,可以看到网络安全随处可见。 0x04 结尾以上内容仅供学习交流使用,请在规定允许地范围内使用,切勿以S试F。小白一枚,如有不对的地方,还望大佬不吝赐教!!与社区一起进步!
|