刘功瑞的博客

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

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

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

泛微OA漏洞汇总

SQL注入前台SQL注入用户名:admin' or password like 'c4ca4238a0b923820dcc509a6f75849b' and 'a'='a密码: 1验证页面参数 - loginid(1)/login/VerifyLogin.jsp?loginfile=%2Fwui%2Ftheme%2Fecology7%2Fpage%2Flogin.jsp%3FtemplateId%3D41%26logintype%3D1%

泛微OA系统多版本存在命令执行漏洞

0x01漏洞描述泛微OA办公系统是一款协调办公软件。泛微协同商务软件系统存在命令执行漏洞,攻击者可利用该漏洞获取服务器权限。0x02漏洞危害攻击者可以通过精心构造的请求包在受影响版本的泛微OA上进行远程代码执行。0x03影响范围泛微 e-cology<=9.00x04漏洞复现访问 http://url/weaver/bsh.servlet.BshServlet 输入 payload 如下:       

攻防世界 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+

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.