吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3527|回复: 90

[经验资料] 有限制的网页PDF的逆向

  [复制链接] 出处:吾爱破解
ShareKing 发表于 2022-2-9 13:19 | 显示全部楼层 |阅读模式

记一次有限制的网页pdf逆向起因
015545cl5bguvbbgzsz7lf.png

(文件附在文末)
初步分析
首先用chrome浏览器打开,查看效果
144953lx9leza98inaxnii.png

点击确定,F12打开控制台(我怎么打不开)
那就ctrl+shift+I打开控制台(打开了)
那肯定是js搞的鬼,随手翻一下js就看到
015557vmgqlf8r4fj5zjgl.png

(有什么用。。。可以有不下于5种方法绕过)
列举一下一瞬间想到的(欢迎补充)
  • 最简单的就是本地js啊!直接打开编辑。。。
  • 上述的ctrl+shift+I
  • 菜单$\to$更多工具$\to$开发者工具
  • ctrl+shift+C(这是快速打开UI布局分析工具,就是这个小按钮)
    015602vtcvwv9fuvxwnxl9.png
  • fd自动转发(针对服务器返回的数据,保存到本地然后转发)
  • 先打开控制台,再打开网页(斜眼笑)
大胆猜测一下,一个HTML30多M,说明数据都在本地,这个弹窗应该是服务器验证之类的
所以内容所占最多的部分就是PDF文件的主体。
使用010 Editor打开网页(因为我电脑问题。。。sublime打开直接就卡死了。。。汗-_-||),
向下随便翻翻,就找到一大堆的内容(如下图所示)
145037oj1z1ifhe9ezbvce.png

大致可以猜测为base64。
当然有没有加密啥的都不知道,只知道最后一步应该是base64。
然后向下看,有好几个script标签。
015613s16m6vzalb2lx9hv.png

不得不说,这个作者还是挺有心的,下面三个eval的加密,上面一个号称耶稣也还原不了的加密。
唔,先不解密吧,(肯定这块就有猫腻了)
刷新一下页面,在弹窗的时候按下暂停键,(注:在source标签里)
145057n333mz0dqhddmhkt.png

点确定后就断下来了
015622zbifn085bik7bceu.png

稍作格式化,有alert出现
145115n3i7p293j7jag0p9.png

向上翻一下,找到else所在判断的另一个分支。。。这灵魂判断。。。
015631yhgmffwkhtkqsmtk.png

不管38妇女节(虽然还没到)
复制粘贴直接运行。(有点慢。。。)

145149jc8h2lffhif8znpf.png


这不就运行出来了么:


145146l7nbf9b17vnz0pwh.png


好了这就是主要的代码了,拿出来解密再重命名一下就是:
复制代码 隐藏代码
var DEFAULT_URL = '';var pdfUrl = document.location.search.substring(1);if (null == pdfUrl || '' == pdfUrl) {    var BASE64_MARKER = ";base64,";    var preFileId = '';    var pdfAsDataUri = "data:application/pdf;base64," + PDFData;    var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);    DEFAULT_URL = pdfAsArray;    function convertDataURIToBinary(data) {        var point = data.indexOf(BASE64_MARKER) + BASE64_MARKER.length;        var b64 = data.substring(point).replace(/[\n\r]/g, '');        var raw = window.atob(b64);        var rawlength = raw.length;        var U8array = new Uint8Array(new ArrayBuffer(rawlength));        for (i = 0; i < rawlength; i++) {            U8array = raw.charCodeAt(i) & 255;        }        return U8array;    }}
明显的的看到了,协议是application/pdf,编码是base64。
尝试下载
base64解码后直接保存16进制不就好了,随手写了python解密保存
温馨提示,文件有点大,我是直接用010 Editor把前后都删掉,然后添加前后部分的
复制代码 隐藏代码
import base64PDFData = "JVBERi0xLjYKJb/3***********这里是完整的base64,30多m,直接base64后放出来估计要被h大打死(暴筋)**********8mCjMyMzIxMjkwCiUlRU9GCg=="with open('temp.pdf', 'wb') as f:  f.write(base64.b64decode=1(PDFData))
先喝杯咖啡。。。等待时间有点长
015640foh3y8evy8l9inrv.png

打开。
015643ae87j5npxsxqs7j7.png

还有密码。。。我大意了,没有密码!
找出密码
原网页中可以打开,肯定是有保存了密码的,向下翻一下
015646c2izhx7vfdevpezb.png

解密JS法
又是一段“最强”加密的js,很少,直接看都能看出来
015649ovzoplpwl940i1lb.png

密码是_0x4c77('0x2', 'V%DS')的结果,直接运行即可出结果
015652qbneq1geeisizeae.png

劫持事件法
上面有个输入密码以打开此 PDF 文件。下面有个确定,在确定按钮下断点。
015654v9f4y83zn99ku67b.png

点击下方的格式化按钮
015657j77u9v1vtfudfvc7.png

在监听提醒的位置下断点(如果找不到在哪里了就切换到元素界面,再点一次)
015659kcw9bbzq5c9l8f09.png

刷新页面即可断下,鼠标放到value即可看到密码。
015701ayd5yckak64kkbye.png

下载PLUS
至此解密完ch。。。啥?没有安装python?
015704mqznnsurv3434qml.png

既然他利用application/pdf协议生成的PDF,那我也可以直接用blob协议下载PDF,代码如下:
[C++] 纯文本查看 复制代码
var bstr = atob(PDFData)//atob()方法将base64数据解码
var leng = bstr.length//获取文件长度
var u8arr = new Uint8Array(leng)//新建Uint8数组存放字节
while(leng--){
    u8arr[leng] =  bstr.charCodeAt(leng)//转Unicode编码
}
const blob = new Blob([u8arr], {type:'application/pdf'});//新建blob协议
const fileName = `jiemipdf.pdf`;//文件名
const link = document.createElement('a');//新建a链接标签
link.href = window.URL.createObjectURL(blob);//添加下载地址
link.download = fileName;//文件名
link.click();//模拟点击事件
window.URL.revokeObjectURL(link.href);//执行下载操作

复制粘贴到console里,(如果PDFData变量名变了记得重命名)
回车,弹出下载框!
015706kzds9dg5tv5pz9t4.png

(搞不懂为啥比python解码还快。。。)
至此结束。
如果不想要密码,可以到咱们吾爱随便搜索一下,找个去除密码的软件即可。

评分

参与人数 30HB +26 THX +10 收起 理由
Jawon + 2
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
一路走来不容易 + 1
消逝的过去 + 1
459121520 + 1
行行行行行行 + 1
冷亦飞 + 1
慕枫二二 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
小菜虫 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
liugu0hai + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
wbxs2077 + 2 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
szukodf + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
一道彩虹屁 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
hackysh + 1
XiaoWeiSec + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
hetao8003200 + 1
PDWORD + 1
小声点我布隆 + 1
muker + 1
ialove + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
淡灬看夏丶恋雨 + 1
jflmao + 1
我是好人 + 1
alwnfin + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
1072560919 + 1
king51999 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
柳正清 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
阿晋 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ByEij534 发表于 2022-2-9 13:19 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jESuY 发表于 2022-2-9 13:21 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
uYE05 发表于 2022-2-9 13:26 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
IKfTXCG95807 发表于 2022-2-9 13:37 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
GtOMoVfW708 发表于 2022-2-9 13:42 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ByEij534 发表于 2022-2-9 13:42 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
kZNywIf83 发表于 2022-2-9 13:49 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
yDIld285 发表于 2022-2-9 13:49 | 显示全部楼层

大佬无敌
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
FDQLVPn 发表于 2022-2-9 13:50 | 显示全部楼层

可以多发一些这类内容吗?我很喜欢!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表