cookie加密 DES 混淆 目标网站:aHR0cHM6Ly90bGNoZW1zaG9wLnlvdXpoaWNhaS5jb20vbWFpbi90ZW5kP05vdGljZUNhdGVJZD0xJk5vdGljZVR5cGU9MQ== 需求分析 今天在爬取网站的时候发现个很有意思的网站,在列表页不需要cookie,但是访问详情页反而需要cookie 分析代码 所以我们访问下这个详情页链接 aHR0cHM6Ly93d3cueW91emhpY2FpLmNvbS9uZC9lNzVlNTY1Yi03MW…
分析 网站返回状态码521,从浏览器抓包来看,浏览器一共对此地址请求了三次(中间是设置cookie的过程): 第一次请求:网站返回的响应状态码为 521,响应返回的为经过 混淆的 JS 代码:但是这些都不重要,他会有一个set-cookie,我们取出cookie,这个cookie是jsluid_s (可能会改名) 第二次请求:把这个cookie加入请求中,然后会获得一段混淆的代码,我们通过反混淆的网站,然后得到以下代码 我们多次获得这个代码 可见这个ha就是加密方式 会发现不止一种加密,每次混淆…
爬取某省公共资源交易中心 通过抓包数据可知 这个data是我们所需要的数据,但是已经通过加密隐藏起来了 分析 首先这是个json文件,我们可以用请求参数一个一个搜 但是由于我们已经知道了这是个json 所以我们可以直接偷个懒 直接搜索json.parse 然后还看见了state 刚好也是返回的值 3. 根据上述请求参数我们看见了ts是一个时间戳, 然后往周围找找 所以可以判断这是个AES加密 基本这个函数就是AES加密的,我们把代码抠出来就能直接运行了,但是抠出来之后发现 这就是个常规AES加密…
其实本章算不上逆向教程 只是介绍golang的colly框架而已 列表页分析 根据关键字搜索 通过抓包分析可知 下一页所请求的参数如下 上图标红的代表所需参数 所以其实我们真正需要的也就是SearchSql 但是你多观察即可知 这个SearchSql在第一页访问的时候就传给了 所以也就是 爬取第一页获取第二页的请求参数--爬取第二页获取第三页的请求参数 详情页分析 详情页链接在列表页给你的链接是错误的 真是的链接如下图所示 由此图可知我们需要很多参数才能完成爬取 但是列表页给我们的链接也不是毫无…
参数分析 我们首先通过抓包 发现这个就是我们所需要的数据 然后我们通过fidder 发起请求 结果: 通过我们反复测试 发现这个params的参数是每次请求中都会变化的 断点查找 我们通过 这个t参数 可以看到 和时间戳有些相近,我们可以投机取巧一下 直接搜索 Date.parse(new date()) 二次分析 通过几次分析可知 上述代码就是我们所需参数 然后我们魔改一下 js代码如下: function get_t() { var chars = "0123456789abcdef&quo…
点触验证码是一种常见的反爬手段 解决方案有两种:一种是直接解决,这需要深度学习机器学习等图像处理技术,以大量的数据训练识别模型,最终达到模型足矣识别图片中的文字提示和应该点击的区域之间的对应关系. 这需要非常专业的设备,比如TPU运算,和专业的开发和维护人员. 因此市面上有专业解决此类问题的OCR解决提供商.也就是第二种间接解决的方案,调用第三方接口. 我们可以使用两种方案 selenium 接口逆向 本文介绍是第二种方法 当然 属于比较简单的那种 验证码如上文所示 ocr的使用 我们使用DDD…
什么是JWT JWT(JSON WEB TOKEN):JSON网络令牌,JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式在不同实体之间安全传输信息(JSON格式).它是在Web环境下两个实体之间传输数据的一项标准.实际上传输的就是一个字符串.广义上讲JWT是一个标准的名称:狭义上JWT指的就是用来传递的那个token字符串 JWT用来做什么?怎么来的? 由于http协议是无状态的,所以客户端每次访问都是新的请求.这样每次请求都需要验证身份,传统方式是用session+cooki…
cookies的获取 首先拿到第一次访问原链接 拿到acw_tc的值,然后放到session中去 再用这个session再次访问原链接拿到js加载的加密的真实数据.用了一些反混淆. 最后获取这个数据中的args1,再通过js获取到正确cookies最终请求到数据 本文网站:aHR0cDovL3R6eG0uYWh6d2Z3Lmdvdi5jbi9wb3J0YWxvcGVuUHVibGljSW5mb3JtYXRpb24uZG8/bWV0aG9kPXF1ZXJ5RXhhbWluZUFsbA== js代码…
分析 其实这个网站基本没有用到过什么逆向,就是简单的图片base64加密 然后把连接变成2进制存成文件 然后用ocr去识别即可 !! 注意 在获取图片连接 和对列表页发起请求时一定要用一个请求,也就是用一个session 不然就会验证失败. 本文网站:aHR0cDovL2dnenkudG9uZ2xpYW8uZ292LmNuL0Vwb2ludFdlYkJ1aWxkZXJfdGxzZ2d6eS9qeXh4SW5mb0FjdGlvbi5hY3Rpb24/Y21kPWdldFZlcmlmaWNhdGlv…
学习架构: 在实战项目中,经常需要记录下服务器的响应时间,也就是从服务器接收到HTTP请求,到最终返回给客户端之间所耗时长.在Koa应用中,利用中间件机制可以很方便的实现这一功能.代码如下所示: 01 const koa = require('koa'); 02 const app = new koa(); 03 app.use(async (ctx, next) => { // 记录服务器响应时间的中间件 04 let stime = new Date().getTime(); // 记录当前…