刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

攻防世界 XCTF Reverse secret-string-400 Writeup

ida打开发现是空的,右键notepad++打开,(后来看其他人wp,发现可以直接解压出来)看起来是个html页面,手动删除掉大段的null,修改文件后缀名为html,打开修改源码,打印出执行的命令在opcode12中找到关键代码算法很简单,逆推一下即可,wpnonce = 'groke' f = '' j = 0 ex = [1, 30, 14, 

攻防世界 XCTF Reverse serial-150 Writeup

ida无法生成伪代码,使用ghidra打开查看可以看到16个字符,按变量名进行排序,一个一个写下来先是local_208 + local_208._1_1_ + local_208._2_1_ + local_208._3_1_ .。。。。= EZ9dmq4c然后组合 cSatck505 + cSatck506 + cSatck507 。。。。。。 = VAb7G9g8得到字符串 EZ9dmq4c

攻防世界 XCTF Reverse android-app-100 Writeup

反编译apk可以看到代码调用了libadnjni.soida打开,可以看到32位hash放到模拟器上运行一下还有一种解法,找到md5加密前的字符串,再进行一次md5加密:import hashlib ret_a = 92060626 d = 114366 d = str(d + ret_a) + ' ' print(d) m =&nb

Weblogic CVE-2017-10271回显POC构造

POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host: 192.168.50.129:7001 Accept-Encoding: gzip, deflate SOAPAction:  Accept: */* User-Agent: Apache-HttpClient/4.1.1 (java 1.5) Connection: keep

攻防世界 XCTF Reverse reverse-for-the-holy-grail-350 Writeup

算法题,一开始完全看不懂,慢慢磨了一天,才看明白通过主函数看到字符串处理的代码在stringMod里面__int64 __fastcall stringMod(__int64 *a1) {   __int64 v1; // r9   __int64 v2; // r10   __int64 v3; // rcx

攻防世界 XCTF Reverse babymips Writeup

mips逆向ida没安装插件无法逆向mips,下载一个ghidra工具,需要安装jdk11才能执行。使用ghidra打开,发现下面的代码,flag的前五位异或处理后,判断正确进入下一步又是一系列看似复杂的操作,实际上仔细观察后并不复杂,就是循环flag,判断i进入不同的计算,计算就是左移或者右移。解题方法两种,一种是直接根据代码逆推,另一种是直接暴力破解#第一种方法 ,逆推代码 str = 'Q|j{g' i = 0 for

攻防世界 XCTF Reverse asong Writeup

这题非常棒,刚开始完全看不懂,看完wp后,豁然开朗,让我对reverse又有了新的了解。推荐阅读这个wp wp.pdf重命名后的代码,逻辑就清楚了。各段代码细节分析逆向代码为:s = open('out', mode='r').read() # print s crr = [] for i in s:     

攻防世界 XCTF Reverse debug Writeup

使用ida打开发现无法反编译提示是.net平台,使用ILSpy进行反编译,可以看到算法,由于没有安装vc环境,使用python来改写。import hashlib def func(A_0, A_1):     arr = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 

攻防世界 XCTF Reverse SignIn Writeup

看着像rsa分解n :103461035900816914121390101299049044413950405173712170434161686539878160984549 = p*q = 282164587459512124844245113950593348271 *  366669102002966856876605669837014229419以为这个函数是加密函数最后发现其实是十进制转十六进制的算法。。。。# encoding=utf-8

攻防世界 XCTF Reverse BabyXor Writeup(动态调试)

学到了一些动态调试技巧使用ida加载,发现函数很少,可能加壳了使用od载入,看到入口很像是加了壳的,在43F019处下个断点,执行到函数oep入口点处。按F9,执行到接收输入处,手动点击暂停, 调试-暂停。然后选择k,查看内核在ReadFile上右键,显示调用,返回到了主程序,可以看到接收参数的函数,在上面打个断点然后按F9,继续运行,随便输入一些字符串,会自动断下来。之后Ctrl+F9执行到返回,F8 return,Ctrl+F9执行到返回,F8 return,Ctrl+F9执行到返回,此时在

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.