Log4j2 漏洞复现
Log4j2 漏洞复现刚入门web安全,简单分析了下之前比较火的Log4j2漏洞,当然肯定有些地方还是没有理解到位的。
什么是Log4Jlog4j是Apache的一个开放源代码的项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
简单来讲就是记录日志的一个框架,使用比较广,功能比较多,比较方便。
然后我自己也尝试去用log4j-1.2.17.jar去使用下这个日志打印,但是没能成功,无论怎么配置总是会出现。
log4j:WARN No appenders could be found for logger (MyTest).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging ...
Windows-Hack-Programming
Windows-Hack-Programming本文章记录windows常见黑客编程技术,实际上都是比较老的了,新的也不可能发出来,之前也是分析恶意代码实践的lab,只能中ida的伪代码中学到一些知识点,比较零散,也没有参考代码,现在买了本《windows黑客编程技术基础》来系统学习学习。
关于vs的一些小操作主要是属性的设置。
字符集的设置。
优化
编译的exe能在其他电脑上打开https://blog.csdn.net/u014493318/article/details/60875012,主要就是运行库的问题。
数据执行保护(DEP)
随机基地关闭
#pragma warning(disable:4996),能直接使用strcmp等函数。
查阅官方文档没有的函数http://undoc.airesoft.co.uk/
第二章-基础技术运行单一实例有时候,病毒木马为了被靶机激活,一般都会选择植入到靶机的多个位置等,但是多了就容易暴露,所以有没有方法可以实现同一时间只让一个进程执行我们的恶意代码呢。互斥对象就可以做到这个,当然方法也不唯一,启动进程参数也可以做到这点,比如说彩虹猫 ...
HWS DASCTF RE
2022HWS硬件安全冬令营 X DASCTF Jan做完了re,简单总结下本次的比赛,以为是个小比赛,也没奖,冬令营很多人估计也不会去,没想到这么多人来打,且人均全栈。。。
基本上考的最多的就是去花指令和vm动调了,算法部分都不是太难,毕竟有两道是vm题型,还有道是加了控制流平坦化。之前也总结过vm的专题文章,主要是调试和明白变量所带的含义。
快过春节了,新年快乐。
BabyVM先去花,只有jnz,jz,E8一种花,patch掉E8就行,但是比较多,可以考虑写个idapython脚本。
之后可以在这个位置找到vm的初始化。可以看到对于vm的初始化可以看出,这个vm还是比较复杂,甚至有EIP和跳转之类的东西,而不是简单的一条流水线。
然后到了主函数。可以看到opcode是3个8字节的数为一组,一共24,相当于第一个数是case语句的选择,第二个数通过调试可以知道,代表的是30字节table的index/2,第三个数就是操作的数据。
我们打印出所有的opcode。
12345678910111213141516171819202122232425262728293031323334353 ...
Windows反调试总结
Windows反调试总结本文总结下windows下常见的反调试技术,尽量完全,如果不适用win10的就不总结了,也是对《逆向工程核心原理相关部分的一个总结》,目前更新状态,静态反调试快弄完了,动态的尽快吧,hook api应该也是最近更。
期末也是过去了,表面上复习,实际上是休息了一个月左右,嘿嘿,现在也是寒假了,也是准备提升下自己的编程能力,学习下常见病毒编程技术,网络编程,和python进阶。
静态反调试PEB结构体。
12345678910111213141516171819202122typedef struct _PEB { BYTE Reserved1[2]; BYTE BeingDebugged; BYTE Reserved2[1]; PVOID Reserved3[2]; PPEB_LDR_DATA Ldr; PRTL_U ...
Simple software cracking
Simple software cracking之所以会产生这篇文章呢是一个学弟来问我RAR-Password-Recovery.exe怎么逆,然后写注册机,然后就去看了看,然后后面又看到了看雪的一篇文章https://bbs.pediy.com/thread-270316.htm,逆010 editor,感觉还比较有意思,也去弄了弄。
西湖论剑的re就不写wp了,复现了没做起的两道,一道z3,一道爆破找txt,一道int 2d反调试的tea(tea加密的方式挺特别,第一次见,通过创造一段可执行的内存,然后模拟tea加密的单步汇编),一道elf文件,动调分析如何加密。
期末复习开始。。。
RAR-Password-Recovery.exe破解版本比较老,所以算法不是太难,并且只输入密钥。两种破解方式,一种暴力破解,一种逆算法,暴力破解就不说了,改改跳转就能过。
简单分析下算法,首先定位到我们输入的地方sub_4185D0。接下来看看sub_417CE0所以只要key满足’DAOSSOFT-RAR-RECOVERY’+????+’-‘就行,例如。
010 editor 12.0.1.0破 ...
安洵杯线上re出题总结
安洵杯线上re出题总结第一次出题,也是第一次在后台可以看到解题情况和赛后wp,对这次的题目做个总结,怎么说呢,不太喜欢出一些很恶心的题,所以选了还算比较简单的考点,根据从一开始的解题情况,re部分的题还是有难度的,一直到下午1点多,都还只有一个re解,但到中期,做出sign_in的人开始多了起来,然后可能py也多了点(可能思路被传出去了吧),后来也被打爆了,至于virus,这道题关键就是key怎么求,但是我看了部分队伍的wp后,key的由来的没讲清楚,所以懂得都懂。。。个人认为两道题还行,大家都可以学到东西,至少不坐牢。
后面准备写篇010editor的破解,然后就复习了,再不复习就挂科了。。。寒假在来总结和学习其他的。
sign_in考点:smc+花指令+数组内异或+W型的栅栏加密(比较难看)+魔改xxtea。
32位程序,无壳,打开发现是无法吃到食物的贪吃蛇游戏,ida打开,shift 12可以看到一些关键字符串,但是无法交叉引用。
定位到main函数,发现sub_40100F函数有花,点进去看看。去花后,发现就是对0x401D10地址开始的后0x256个字节进行异或0x37解密。 ...
2021 Geek and HECTF re wp
2021 Geek and HECTF re wp#最近比赛超多,有点顶不住了,湖湘杯的题质量还是很好的,值得花时间去复现,就是py太多了,也不知道有些队伍没wp都敢交flag是怎么想的,掉钱眼子里面去了。
本文章记录一个月的极客大挑战,和2两天的HECTF。
2021 Geek re做完了逆向,题目质量有高有低,一些适合新生,一些又不适合新生,写wp给新生看看,毕竟大家都是这么过来的。
Re0签到题 ida打开,shift + f12查看字符串就行。SYC{Welcome_to_Geek_challenge2021}
顺便也将几个常用的快捷键讲讲吧
f5 反编译出类似于c代码的窗口
h键 10进制和16进制互换
d键 将IDA view-RIP解面的单个字节进行转换,可转换为2个,3个,4个,甚至更多个字节。
u键 将多个字节数据,甚至是汇编字节码进行拆分为单个字节的。
c键 重新分析为汇编代码
p键 重新生成函数
/键 在汇编解密也可以看到f5的伪代码,方便在汇编界面调试,前提是代码能f5
r键 转换为字符串类型的样子。
n键 修改变量 函数名称 ...
python spider learning
python spider learning本文章记录python爬虫的学习内容,相当于学习python的知识点。
差不多就学到能爬图片,能爬视频,爬歌吧,简单入个门,也就是感兴趣然后来学了点,还是不错,比二进制收益来的快多了,哈哈哈。后面还是补一下hook,和反调试的文章吧,整理太花时间了,但还是必须整理。。。
request库用法一行代码 Get 请求
r = requests.get('https://api.github.com/events')
一行代码 Post 请求
r = requests.post('https://httpbin.org/post', data = {'key':'value'})
获取服务器响应文本内容
import requests
r = requests.get('https://api.github.com/events')
r.text
假装自己是浏览器
url = 'https://api.github.com/some/endp ...
东华杯 re wp
东华杯 re wp做完了逆向,感觉题目难度还是有的,也不知道为什么题目就被打爆了(懂得都懂),打进了线下,准备去白给,不得不说,诸神之战。
这次wp写的比较简单,图片都没贴。。。感觉大二课太多了,忙都忙不过来。最近想学学python爬虫,都一直没时间搞。
ooo这次最简单的一道re题了,就一个利用flag里面的几个数生成一个数,然后依次和flag异或,得到密文,虽然密文是4个字节一个,但是不影响。
爆破就行
123456789101112131415161718192021222324252627#include<stdio.h>unsigned int enc[42] = { 0x00000006, 0x0000010C, 0x00000201, 0x00000307, 0x0000041B, 0x00000551, 0x00000653, 0x00000706, 0x00000853, 0x00000955, 0x00000A56, 0x00000B56, 0x00000C53, 0x00000D4D, 0x00000E55, 0x00000F5 ...
最近一些比较有意思的题
一些比较有意思的题实际上最近的比赛都有在打,只是没有整理了,一方面是时间不够,二是觉得做起的题的难度也就那样,没必要整理,就把最近感觉比较有含金量的题整理整理。最近也在出题,好忙。。。不过值得高兴的是,原本以为之前打的两个比赛已经没什么希望了,结果一个还有奖金,一个还进了线下,昨天永劫无间还用免费宝箱开了个冰魄皮肤,哈哈哈,欧皇竟是我自己。
这篇文章就整理最近觉得比较好的题。
HaHaHaHa比赛时,搞了一个下午,java爆破太慢了。
先下载apk打开看看,发现是要输入8个字符串,然后没有小写字符。
用jeb打开。
发现使用了一个for循环来处理8个字符串。然后下面有一个处理字符串的函数,也就是a类中的c函数。然后下面使用修改后的数据去进行各种hash加密。接下来看如何通过传入的第一个参数从而决定到底是哪种hash。然后直接去解就会发现不对劲,原来是在开始的时候,修改了a类中的数据。然后先得到8个字符串的加密方式。
1234567891011121314151617181920212223 int[] b; int i; b = new int[]{0xAF, 0 ...