刘功瑞的博客

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

2019CNAS能力验证攻防比赛 第三题 恶意代码和垃圾邮件防范 writeup(sql注入,逆向)

去年能力验证的题,当时对逆向了解不多,所以没做出来,但是一直记着这个事情,今年学了逆向后,又把这题找出来做了几次,都没做出来,今天有了灵感终于做出来了!!!下图是我当时比赛完后写的writeup,链接http://www.liugongrui.com/?id=113附件下载下来解压里面有两个文件使用ida打开lesuo.exe,结合实际运行情况,可以看出lesuo.exe执行后会在d盘下生成一个rsa.exe剩下的加密工作都是由rsa.exe完成,所以使用ida打开rsa.exe,查看字符串窗口

攻防世界 XCTF Reverse zorropub Writeup

看起来就像个游戏,问你要几杯酒,然后输入酒的id,输入正确就能得到flag,根据算法进行爆破,需要在linux环境下执行from pwn import * import time time1 = time.time() xor_arr = [] for i in range(16, 65535):     v9 

攻防世界 XCTF Reverse notsequence Writeup

算法看不懂,两个check看了wp原来两个check是验证杨辉三角。。。def triangles():     N=[1]     while True:         yield N         N.append

攻防世界 XCTF Reverse key Writeup(od,动态调试)

ida打开查看字符串,找到一个文件地址创建出这个文件,再次运行找到关键函数看起来非常复杂动态调试一下看看,搜索字符串,找到文件读取的位置打断点文件内容我输入的liugongrui,然后执行到返回,然后一直按F8,走到fclose此时文件内容已经读取完毕,点击m,搜索liugongrui,设置内存访问断点然后按F9,可以看到liugongrui和一个字符串进行比较把这个字符串提交验证一下,正确idg_cni~bjbfi|gsxb

攻防世界 XCTF Reverse gametime Writeup

玩游戏的程序,我手速不够快 没玩过去,使用ida打开看看找到关键判断点sub_401435函数中jnz改成jz一共两处修补好后运行,什么都不用输入就得到flag了no5c30416d6cf52638460377995c6a8cf5

攻防世界 XCTF Reverse Windows_Reverse1 Writeup

upx的壳,放到kali下  upx -d filename 脱壳即可,使用ida打开这个函数看着一脸懵,但其实此处的代码逻辑并不复杂:1.a1是通过压栈的方式传递的参数; v1是通过寄存器保存地址的方式传递的参数2.最令人迷惑的便是v1[v4]这个地方. v1是一个地址, v4是a1和v1两个地址间的差值. 地址的差值是怎么成为一个数组的索引的呢 ? 这里卡了我好长时间, 之后我突然意识到, v1[v4]和v1+v4是等价的, 而在循环刚开始的时候v1+v4等于a1, 随着v1的递增

攻防世界 XCTF Reverse easyCpp Writeup

这题非常复杂,斐波那契数组1.接受16个数字输入 2.计算斐波那契数列前16项 3.把16个数字输入从第二个元素开始,都加上第一个元素 4.将3的结果反向 5.将4的结果和2的结果比较,完全相同则输入的是flagdef fib(a1):     if a1 == False or a1 == 1:    

攻防世界 XCTF Reverse crazy Writeup

用ida打开,头都大了,这么多代码耐心看了之后,发现想要得到flag,就要知道v23的值v23的值其实就几个算法,func1 func2 func3都是混淆用的,没实际意义主要看 HighTemplar ,calculate ,getSerial 这三个函数HighTemplar初始化了 a1+80位置的变量值为327a6c4304ad5938eaf0efb6cc3e53dccalculate 对a1+16地址的值做一些异或计算,a1+16就是我们输入的值getSerial对我们输入的值和a1+

攻防世界 XCTF Reverse easyre-153 Writeup

使用detect it easy查壳,upx的壳放到kali下脱壳  upx -d filename,脱壳后可以执行了,之前不可以使用ida打开需要注意的事,  v2=2*a1[1] = 2* ord(a1[1])str = '69800876143568214356928753' a1 = [ord(i) for i in str] v2 = 2 

攻防世界 XCTF Reverse Windows_Reverse2 Writeup

查看文件信息asp的壳,使用工具Aspack stripper脱壳,可以脱壳成功,虽然不能执行了,但是不影响ida反编译代码sub_D11F0是一个十六进制处理的代码,可以看出输入的是十六进制然后进行base64加密也就是说输入的十六进制字符串进行base64加密等于reverse+,写脚本用1分钟,看源码用一小时。。。。。。。。import base64 print base64.b64decode('reverse+').encode('he

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.