- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 Havoc 框架
由三部分组成:Havoc_Teamserver(服务端)、Havoc_Client(客户端)、Havoc_Demon(被控端)。1、未注册AgentID 且 Command== agent.DEMON_INIT(0x63),调用agent/agent.go中的ParseDemonRegisterRequest()进行注册。3、Command== agent.COMMAND_GET_JOB(0x1),为客户端命令的回显,调用agent/demons.go的。目录:Havoc/teamserver/pkg。
2023-10-21 12:32:58
599
原创 SEEDLabs- CSRF Attack
CSRF攻击利用网站对于用户网页浏览器的信任,挟持用户当前已登陆的Web应用程序,去执行并非用户本意的操作。可以这么来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。
2023-09-05 10:42:32
664
1
原创 数字签名算法 (DSA) java 代码实现
数字签名算法 (DSA)一、实现数字签名算法中的公共参数;系统初始化:选取大素数 p 满足 2(L-1)<p<2L,其中512 ≤ L ≤ 1024,且64|L;选取素数 q 满足 q|p-1,2159 <q< 2160;选取 h 满足1<h<p-1 且 h((p-1)/q) mod p>1;计算 g=h((p-1)/q) mod p;选取 SHA-1 为哈希函数。初始化公共参数: public static void i
2022-06-02 15:25:12
1885
1
原创 信号量实现producer-consumer--实验报告
一、实验目的通过实验,理解Win32 API、Pthreads中mutex locks、semaphores等使用方法,并掌握如何利用它们实现进程(线程)间的同步和互斥。二、实验内容 在Windows和Linux操作系统上,利用各自操作系统提供的Mutex和信号量机制(Win32 API或Pthreads),实现生产者/消费者问题。三、设计思路在实验中,设置三个信号量如下:互斥信号量MUTEX:用于生产者进程与生产者进程、消费者进程与生产者进程、消费者进程与消费者进程间互斥使用缓冲区,初
2022-04-27 14:58:48
1371
原创 2021祥云杯部分wp
祥云杯2021目前只做了两道题(没办法 tcl。。。MISC-鸣雏恋下载下来是个word,打开只有一句话不太对劲,放到010里看一看发现文件头50 4B 03 04经典压缩包了,文件后缀改成zip,解压得到一个txt和加密压缩包,文件打开感觉什么都没有。。。但仔细看,第二行可显示字符没有190,所以是零宽度字符隐写vim 一下,果然放到在线网站上解一下压缩包解完有129488张图片,两种图片代表01,转成二进制二进制转换成ASCII码之后,发现是个base64转png接下
2021-08-24 08:58:04
893
原创 BUU 羊城杯re
羊城杯easyrelogineasyre打开一看非常明了,输入的字符串经过三次加密后和Str2比较用Str2往回逆即可倒着逆第三次加密:好像是后移三位的凯撒但又不完全是。。唉不会就爆破第二次加密:13位位一组调换了前后顺序,换回去即可第一次加密:最后解一个base64#include<iostream>using namespace std;int main(){ char temp[] = "EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5
2021-08-02 19:56:22
180
原创 网鼎杯2020 青龙组 jocker
来看一眼题目逻辑哈,看函数名知道_Z5wrongPc那一处是个假加密函数,先不看。。。然后下面很明显是一道smc了对加密函数的前186(0xBA)位异或 0x41这里可以用idapython对加密函数解密(呜呜不会。。)也可以选择动调,在左边已经解密好的位置下断,步入,事情没那么简单,要修复代码一通U和C之后,发现在奇怪的位置end了,也undefine掉修了半天代码终于成型,还是不能F5,唉还要修个栈针呃,我是废物。。。我不太懂栈针不平是什么原理就猜着乱改(ALT+K),反正改成没有
2021-04-18 23:40:26
294
原创 MRCTF2021 dynamic_debug新手详细复现
Dynamic_debug一道惦记了很久的题,今天终于!历尽千辛万苦 复现出来,必须得记录了~~~根据题目,大概率要动调,看了官方wp知道了是smc(MR师傅tql),那确实得动调了,静态的话再怎么修复出来都是不对的。以下详细记录一个新手废物怎么胡改乱改 修复代码的:(如果有错的地方请路过的师傅们指点!谢谢谢谢!)Step1, 按C强制转换得到关键汇编代码部分,先随便找个大概位置下断,开始动调:开始位置按P创建Function,在长度判断跳转处下断绕过呃,提前说明哈,我是在看了官方wp知
2021-04-15 00:04:02
405
原创 DASCTF安恒三月赛re部分复现
Drinksometea题目给了exe和一个tea.png.out(加密完生成的文件),哇这个第一题做了我一天啊。。。已知是tea就卡在不会文件读写是真的难受住了呜呜呜呜逻辑是很清晰的,CreateFile,ReadFile 这些句柄可自行百度,理解是在干什么即可(但要是要像我一样想仿着这个写个C++脚本逆回去。。。。就各种报错。。。一言难尽了。。wtcl)关键就在loc_4010A0的位置,但是不能F5,因为加了花指令哇今天最大的收获就是k1ee师傅给一步步教的去花(感谢!!Undefine+
2021-03-28 17:24:14
487
原创 buu re部分wp (六)(未完待续)
[BJDCTF 2020] hamburger competition相册[BJDCTF 2020] hamburger competition哈哈哈哈出题人是个人才Unity 的游戏,先找_Assembly-CSharp.dll 文件,然后丢进dnSpy在ButtonSpawnFruit处找到主函数,emmmm还调用了md5和sha1给出一个sha1加密后的字符串,解密以后再md5加密解密是1001这里还要注意这个md5加密的函数!!"X2"代表取32位大写然后取0-20.
2021-03-17 23:38:01
210
原创 攻防世界(三)easyhook
看题目就知道这是一道动调的题果然,静态看什么都没有,(那个sub_401240貌似也是个没用的函数。。。CreateFile 和 WriteFile 那两步看应该是把我们的输入以引用的方式传入了什么进程?(我不太懂,我瞎胡说的。。。)那就先动调看一下我们的输入也就是那个 NumberOfBytesWritten 会在哪一步被改变~可以看出输入的aaaaaa被传入了一步步 f8 ,发现call WriteFile之后输入就变了所以要在 WriteFile 的地方f7步入,看看加密的函数在哪里。
2021-03-15 23:28:02
403
原创 攻防世界(二) secret-galaxy-300详解!
看了一下感觉好多wp都写得不太清楚,没有说明怎么找到字符串,直接进od了这里利用ida静态分析+动调看看这道题我的电脑不能直接打开exe, 所以用的动调走到print函数看一下输出_main函数里只有一个fill和一个print函数感觉没什么用,先不看根据输出查找字符串,找到输出的这几个字符串的地方那个aDarkSecret的地方没有输出,不管如何先进这个——libc_csu_gala看一下仔细观察发现每一个galaxy_name输出后都有一个:mov ds: byte_400…, a
2021-03-09 23:07:26
705
原创 基于easyx低配版flappybird
又更了~(我真勤快。。。就是一个基于easyx超简单的小游戏,控制小球不要碰到桩(昨晚帮舍友写的一个简化的小demo,所以界面什么的都有些劣质,对不住了柱子会往前移动,有动感,但上下移动我还没做出来。。。我是废物。。因为是个小demo,也就一百来行代码,小伙伴们可以根据自己的喜好加工它使它成为一个完备的游戏说到最最前面,我的障碍是用画很粗的一条线完成的。。就疯狂简化。。先用 class 为游戏中的各种东西定义class K{public: int x; int y; int _y;
2021-03-08 12:08:00
244
原创 攻防世界 web 新手区
cookieweak_authsimplejswebshellCOOKIE根据题目提示先查看cookie查看cookie.php根据提示查看请求头weak_auth常见用户名admin+随便输个密码,抓包,发给测试器提示:用字典到github上下载字典,load字典在需要爆破的地方添加符号作为一个几乎没做过web的废物。。一开始发POST没有加Content-Type: application/x-www-form-urlencoded。。。。我tcl。。找到返回长.
2021-03-07 00:14:59
177
原创 buu re部分wp (五) (未完待续)
开学了所以这两天做的题比较水。。。[ACTF 2020] Oruga简单注册器[ACTF 2020] easyrefindit一、 [ACTF 2020] Oruga这是我目前做过最麻烦的迷宫题了关键函数是sub_78A,迷宫在byte_201020处,‘ !’ 是终点这一段的意思。。大致可以理解为,除了0的地方都为障碍emmmmm先写个脚本把迷宫打印出来(方便好看。。。而且这个迷宫是真的强。。它的设定是遇到零一直走,遇到障碍才变换方向这道题不看大佬们的wp我真的不太能琢磨
2021-03-05 23:19:34
186
原创 buu re部分wp (四)(未完待续)
1、[GWCTF 2019] pyre2、rsa[GWCTF 2019] pyre下载拿到的是一个pyc文件,要用uncompyle反汇编成py输入的字符串经过一次取模一次异或,得到code注意是每一位和后一位异或,循环次数又是 l -1,所以最后一位没变往回逆的思路就是,从后往前每一位和前一位异或(最后一位不变然后。。之前的wp里提过这里逆的时候,要注意是解出的flag跟code异或才能得到下一位flag取模+128后再次取模这一步要注意,提示了逆的时候如果 imput [i] - i
2021-03-01 17:13:38
185
原创 buu re部分wp (三)(未完待续)
1、[WUSTCTF2020] level32、刮开有奖3、[MRCTF2020] Transform[WUSTCTF2020] level3给了一串base64,但正常的表已经被LookAtYou函数换了先写个脚本得到换的表,或者动调也可以得到换完的表import base64import stringKK='d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD=='flag=''string1="TSRQPONMLKJI
2021-02-25 16:36:50
185
原创 buu re部分wp (二)(动调+花指令)
1、[FlareOn4] IgniteMe2、[HDCTF2019] maze1、[FlareOn4] IgniteMe可见sub_401050是关键函数求v4的函数。。我看不懂,可以试一下动调求v4,可以在call sub_401000处下断步入也可以在后面开始异或的地方看得到v4等于4,可以开始写脚本往回逆了这个地方要注意,不是把简单地byte_403000里的数字按位异或,是每得到一位flag和byte_403000里对应的数异或可得下一位flag,还有最后要取逆#incl
2021-02-25 15:32:13
315
原创 攻防世界 re进阶区wp 1-8 (未完待续)
1、Shuffle进入ida,按R,直接明文,shift+e提取出来,用C++转一下直接提交2、666输入的flag经过encode函数的变换后与enflag对比,相等即拿到flag看一下encode,a1传入的是我们的输入,经过跟 key(0x12)的异或后存入a2,emmm也就是enflag写一下脚本,因为运算优先级的问题,要记得加括号#include<iostream>#define _CRT_SECURE_NO_WARNINGSusing namespace s
2021-02-19 12:09:19
414
3
原创 HGAME2021Week1 Writeup
小白做完了re还是很开心的RE部分Day 1 helloRe第一天的第一道题~~这道题是真.签到题啊进入ida,没有明显的main函数,F12查找字符串,看到input flag点进去发现主函数应该是sub_1400014C0逻辑很简单,脚本也挺好写的#include<iostream>using namespace std;int main(){ char memory[30] = ""; int v6 = 0x0FF; char asc_[23] = "
2021-02-07 10:53:14
1310
5
原创 buu re部分wp(一)(未完待续)
抽空来总结一下这几天做的几道题,因为对大小端序不是很了解总是解不对,唉,认识到了要注意大小端序的重要性。(大一废物,写的不好还请师傅们指点!)一、[GWCTF 2019] xxor主函数就是把我们输入的六个数数变换后的数和sub_400770中的六个数进行比对,相等就对了,所以顺着逻辑推回去。关键的地方都写注释了,看图哦~所以先要把变换后的数组解出来,看到有大佬用的z3,我太菜了,不会不会。。。其实三个方程三个未知数,手解也不难(好吧,我承认我还是高中水平呜呜呜。。)然后把伪代码复制粘
2021-01-30 17:24:55
316
原创 Buu 攻防世界re新手区
我。。终于考完放假了!!几乎一个月没学逆向了呜呜呜,这两天恶补了一下,但也都是些超级基础的题,因为我太菜了。。。1、buu BJDCTF2020easy2、攻防世界 logmein主函数逻辑很简单,放到VS里改一改就能运出来。就是一开始不知道BYTE那个地方怎么改,后来查到BYTE在C++中通常定义为unsigned char ,那就好办了~还有v8的长度最好改一下,不然再复制的时候会溢出。C++脚本如下:#include<iostream>using namespace st
2021-01-25 09:18:31
1541
原创 easyx赛车小游戏(新手小白)
2021新年快乐呀,两天都没出去玩终于写完这个小游戏。之前上一篇博文说过要写跑酷来着,但因为我实在太菜了就中途放弃了,换成了公路障碍赛车。。。界面如图,感觉是个比较劣质的游戏。。。但是它还是一个有碰撞判断,有bgm,有加速功能的比较健全的小游戏的(小声bbbbbb…) 当然也会有bug。。。不管怎么说,这是我学C++三个月以来第一次自己写完四百行代码,还是值得记录一下下的。老师布置作业时,也在网上搜了很多教程,但。。emmmm一言难尽,首先是贪吃蛇和碰撞小球的比较多,跑酷和赛车的easyx案例是真的
2021-01-03 11:01:13
3518
1
原创 buu reverse3
呜呜呜终于考完工数期中了,前一个星期都在复习,再不学逆向就废了。。。(每周一道flag立起来~)reserve 3刚用ida打开时很混乱 ,原来主函数藏在了最后面。。。先锁定“right flag!”再往上看,一如既往的strncmp比较两个字符串先看Dest,大概就是把v1移位处理,点进sub_4110BE查看v1很复杂但是可以看出是base64编码所以这道题就是把flag经过base64编码和移位后得到了Str2想得到flag就要把Str2反移位以后base64解码,上脚本把得到
2021-01-03 09:44:59
211
原创 XCTF simple-check-100
最近在学动态调试,离开了学长指导的废物正式进入龟速学习模式(学长们都太忙了呜呜呜。。。)题目: XCTF simple-check-100先用ida调试(linux远程调试上一篇学习日记里提到了)先看一眼逻辑,这道题蛮友好的,关键只有这一个跳转,跳转成功即输出"Wrong!",跳转失败才能得到flag,那就在跳转的位置下个断点吧。。jz指令跳转的条件是Z标志位为1,所以在这里手动改为零继续运行即可得到flag~emmm对于windows下调试为什么调不出来我也不太清楚。。。又跟着别的大
2020-12-21 16:39:41
200
原创 周末学习日记1
呜呜呜因为种种原因没有做出题 (上周才立的flag倒了 ),果然还是因为我太废物了。。。。那就只能写个简短的学习 日记了。尝试ida动态调试刚开始把elf放进去找win debugger。。。还错怪了win10。。。然后。。学习了linux远程调试先查一下虚拟机的IP,process potions里要填(安全起见,打码了~)把ida的dbgsrv文件夹下的linux_server复制到虚拟机上就可以了学习了一丢丢pwn的栈溢出题fgets后那个变量的长度往往是设置漏洞的地方,但这道题
2020-12-14 00:59:43
176
原创 buu re练习base64
记录一下一个废物的艰难入门逆向1.[FlareOn3] Challenge1进入ida查看主函数v5和v6两个字符串比较得flag,进入函数sub_401260应该是base64换表编码,点进byte_413000得到要换的表(这里其实也可以shift+f12查找字符串得到表,会方便一点)写个py脚本换表接下来只要有个base64解码的脚本就行,因为我太废物不会写,就用的现成的。。。(可能我的方法比较智障,请原谅我的无知与无能。。。。)...
2020-11-28 09:09:19
454
1
easyx赛车小游戏.zip
2021-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人