今天带大家分析一下某建筑市场监管平台的数据加密链接:aHR0cDovL2p6c2MubW9odXJkLmdvdi5jbi9kYXRhL2NvbXBhbnk=点击企业查询,发现返回的数据是经过加密后的数据1.寻找返回的数据既然数据是通过这个url返回的,全局搜索urlhttp://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg
分类:
编程语言 时间:
2020-03-01 00:53:50
阅读次数:
90
exp 脚本 C++写的程序,逆向分析有点费劲。注意到 password_checker 有 call rax 指令,倒推 rax 的来源,在 main 函数中把 rax 的来源覆盖为漏洞函数的地址即可 get shell 感谢 keer 师傅的指点! ...
分类:
其他好文 时间:
2020-02-29 20:49:37
阅读次数:
360
[TOC] 利用思路 由于之前 house of spirit 时候已经逆向分析过,这里不再重复 利用过程 首先在 chunk 0 构造一个 fake chunk ,并把指针分别置为 ptr 0x18 和 ptr 0x10 ,同时把 chunk 1 的 prev_size 给上 fak chunk ...
分类:
其他好文 时间:
2020-02-27 18:57:35
阅读次数:
152
[TOC] 常规检查 逆向分析 add 函数 我们可以看到,top chunk 到 chunk 0 的偏移为 0x60 ,使用 house of force 技巧,我们需要绕过 request2size(req) 宏,这里由于 0x60 是16字节对齐的,所以只要减去 SIZE_SZ 和 MALLO ...
分类:
其他好文 时间:
2020-02-26 19:03:12
阅读次数:
120
[TOC] 常规检查 逆向分析 create_heap 函数 可以再次编辑 chunk 的内容,而且可以选择输入大小。如果我们这次输入的 size 比创建时大的话,就会导致堆溢出 delete 函数 释放对应 index 的 chunk,并将数组 heaparray 对应的地址置 0。 main 函 ...
分类:
其他好文 时间:
2020-02-25 17:42:36
阅读次数:
231
[TOC] 常规检查 没有开启 RELRO ,意味我们可以修改 got 表地址。 逆向分析 Add 函数 + dword_804A288:存储构造的块地址 + (dword_804A288 + 13):在块地址的 13 字节处写入上一个块的地址 + (dword_804A288 + 25):在块地址 ...
分类:
其他好文 时间:
2020-02-25 00:02:11
阅读次数:
84
[TOC] 常规检查 逆向分析 程序有四个功能 + Allocate:分配内存大小并给出 index + Fill:输入 index ,并分配内存进行内容写入操作 + Free:输入 index ,释放相应的内存空间 + Dump:输入 index ,打印内容 Allocate 函数 + 分配的大小 ...
分类:
其他好文 时间:
2020-02-23 22:34:37
阅读次数:
297
aes加密定位到:fridaJava.perform(function(){varhook=Java.use("com.forward.eip.app.util.a.a");hook.AES_Encode.implementation=function(arg1,arg2){console.log("content:",arg1);console.log("key:",arg2);varres=t
分类:
其他好文 时间:
2020-02-22 23:33:45
阅读次数:
85
[TOC] 常规检查 逆向分析 题目程序较为简单,功能是创建字符串和删除字符串,其中创建字符串用 create ,删除字符串用 free 。 create 函数 当输入的字符串大于 0xf 字符时会另外开辟内存来存储字符串,否则存入 ptr 指针的地址中。通过分析我们还可以得到 + ptr :在小于 ...
分类:
其他好文 时间:
2020-02-21 21:52:59
阅读次数:
84
接上篇:《C++反汇编与逆向分析技术揭秘》--算术运算和赋值 printf("argc / 4 = %d\n", argc / 4); printf("argc / 5 = %d\n", argc / 5); printf("argc / 7 = %d\n", argc / 7); printf(" ...
分类:
编程语言 时间:
2020-01-04 20:51:14
阅读次数:
122