- 博客(130)
- 资源 (6)
- 收藏
- 关注
原创 【re]-反调试-es.exe
后面代码经过审计,发现是数组经过加密后继续和key进行异或。这里只要调试到此时加密后的v9和v8,就可以了,不用关注本身的算法。结果是:203f12f62c9ed69e810f404bd7003ba7。64位,ida打开,f5查看到有反调试,尝试调试,自动退出。导出v9和v8的数据,进行异或操作就可以了。nop掉反调试函数。
2024-10-24 11:17:06
204
原创 [php:\\filter]
一般配合post输入,它提供了一种直接获取 POST 请求数据的方式,尤其适用于处理来自客户端的原始数据,适合执行php文件。用来执行命令,需要前提:allow_url_fopen :on allow_url_include:on。可以用于访问绝对路径和相对路径,当使用file伪协议时,可以指定文件的绝对路径,例如。中,可以识别的只有phpexit,一共7个字节,因此前面加个一个字节,然后再加上。应用场景:一般用来执行php任意命令,在php安全策略配置出现问题时才会有此问题。=phpinfo();
2024-08-19 12:26:08
541
原创 【upload]-ini-[SUCTF 2019]CheckIn-笔记
user.ini实际上就是一个可以由用户“自定义”的php.ini,我们能够自定义的设置是模式为“PHP_INI_PERDIR 、 PHP_INI_USER”的设置。# .xxxx.ini 文件是配置当前目录以及当前子目录的规则配置的文件,文件的中的配置会覆盖掉当前php.ini中的规则,是当前用户的配置文件。# 如果是 Apache 服务器,则可以利用 .htaccess 文件,作用和 .INI 一样,只是风格上有些不一样。上传图片木马文件后看到,检查的文件内容,包含
2024-08-13 10:49:01
427
原创 [upload]-[GXYCTF2019]BabyUpload1-笔记
/script> 上传成功。需要修改文件类型,image/jpeg,如下,上传成功。尝试上传.htaccess和图片和一句话木马提示。根据刚才上传图片木马的地址,用蚁剑链接如下。必须增加文件夹下jpg后缀解析php。.htaccess如下。根目录下发现flag。
2024-08-13 09:51:28
369
原创 [代码审计]-枯燥的抽奖-笔记
结果是:28 28 0 61 21 21 0 61 53 53 0 61 7 7 0 61 4 4 0 61 40 40 0 61 15 15 0 61 51 51 0 61 46 46 0 61 34 34 0 61。不知道随机数种子,根据提供的信息,可以用 php_mt_seed来爆破,生成工具需要的参数。代码里的随机数生成其实是伪随机的,给定种子,生成的随机数序列就能固定下来。
2024-08-09 10:13:40
357
原创 [rce]-bypass-笔记
current() //输出数组指针中的当前元素的值,初始指针指向第一个单元,怎么理解呢就是每个数组其实都是有一个内部指针的,是叫句柄吧,可以通过next()向后移动这个指针,reset()重新指向第一个单元。pcntl_exec(path[,args,envs])//进程控制函数,必须是可执行二进制文件的路径,args是参数,envs是环境变量。//这个函数厉害的地方在于突破disable_functions限制执行命令,通过查看phpinfo()会发现被禁用的函数很多都是常有的事。
2024-08-08 10:12:33
692
原创 [工具]-gitee+pycharm-配置
打开 PyCharm,在 Settings - Plugins 里面,搜索 Gitee 插件,安装后重启 PyCharm。设置路径为git路径,点击测试显示版本。
2024-08-08 09:12:49
387
原创 [工具]-pyinstaller-打包
PyInstaller是一个第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。PyInstaller支持Python 2.7和Python 3.3+。
2024-08-07 11:34:58
429
原创 [工具]-ffmpeg-笔记
1、将ffmpeg, ffplay, ffprobe拷贝到文件夹下,设置环境变量。ffmpeg-python不能够正常输出一些参数,ffmpy3是可以正常使用的。2、安装ffmpeg-python。
2024-08-05 17:30:27
678
原创 【工具】-正则表达式
模式字符串使用特殊的语法来表示一个正则表达式1、字母和数字表示他们自身。一个正则表达式模式中的字母和数字匹配同样的字符串。2、多数字母和数字前加一个反斜杠时会拥有不同的含义。3、标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。4、反斜杠本身需要使用反斜杠转义。5、由于正则表达式通常都包含反斜杠,所以你最好使用原始字符串来表示它们。模式元素(如 r’\t’,等价于’\t’)匹配相应的特殊字符。
2024-08-02 18:08:31
881
原创 【工具】-gdb-学习笔记
程序的发布方式有两种,debug模式和release模式Linux gcc/g++出来的二进制程序,默认是release模式要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项,发布成debug模式命令:gcc -o test test.c -g。
2024-08-02 11:44:53
492
原创 [pwn]-1-easy1
因为暂停在输入之前,所以摁下任意键,程序继续运行。gdb里输入Ni继续执行,跳出read。如图:通过覆盖Pwn的返回地址位backdoor,来执行后门函数里面的危险函数。7、效果和web的rce差不多,就是找到危险函数,执行任意操作。3、查看backdoor地址,0x08049236。1、32位程序,IDA查看,发现栈溢出漏洞。2、找后门函数,有个backdoor函数。b *地址/函数名称 断点。start 停在main。寄存器、代码、栈空间区域。返回地址(需要被覆盖)backdoor地址。
2024-07-25 16:12:36
305
原创 [re]-4-transform
修改后查看逻辑:根据输入的数组,打乱顺序赋值,再根据索引数组异或;如下exp(反过来操作就可以了)1-4的程序已经打包上传到资源里了。
2024-07-24 17:43:12
445
原创 [rev]-4-debug
看到代码很多,但其实不复杂,就是v7和s比较,长度是24,调试获取s的值即可。(将Ida下dbgsrv下的linux复制到虚拟机里启动)f2设置断点,f9运行,设置linux服务器信息,可以开始调试。点击1-s处,将2处变量转化为字符串,得到flag。.exe,.dll,.elf,.so文件识别。发现是elf文件,需要远程调试。1、Pe打开发现识别不了。
2024-07-24 11:58:00
252
原创 [rev]-2-who_who_who
分析代码后可以看到,输入的32位字符经过sub_401460加密后,返回64长度的字符串和dword_404080比较,双击该变量,shift+e提取数组。根据运行,shift+f12,找到这段文字,f5(开始懵逼,未看到main)得到:He1l0_My_name_i5_base64。3、使用base64解码。
2024-07-24 11:11:14
334
1
原创 [rev]-1-welcome
提取出来flag : flag{welcome_to_reverse_world!不太方便,用ida,f5快速看到伪代码。查看汇编代码,发现一段可能是flag。1、用Pe打开发现是32位程序。2、用OD或者IDA调试。
2024-07-24 09:07:33
221
原创 [web]-反序列化-base64
起点和终点都是_toString(),类被当作字符串使用, 这里很简单,但是传入的参数经过解密,首先是需要base64解码,然后每位上加上自己的序号。反过来先构造自己的类,然后每位减去序列号,最后base64编码。输入后,可以看到目录和flag,读取flag就可以了。但是只执行了echo命令,我们用管道符来构造命令。输入后提示:ls / 111,说明执行了。
2024-07-21 13:15:39
408
原创 【web]-反序列化-easy ? not easy
分析源码只看到__wakeup函数,其他类没有什么可以利用的,起点、终点、跳板不管用了。只能用php原生态类来输出文件列表读取文件(而且过滤了一些特殊符号,命令通配符等,包含数字字母\,也只能用路径了),代替命令执行。最终的目的也是读取文件获取内容哦。输入后得到结果:aced3598a34a561715dacfe32a328c1c。输出目录:1aMaz1ng_y0u_c0Uld_f1nd_F1Ag_hErE。显示 flag.php,接下来就要读取内容。
2024-07-21 12:08:44
412
原创 【web】-flask-简单的计算题(不简单)
无奈点开source发现源代码,是flask,初始化表达式,获取提交的表达式,赋值新的表达式,没发现有什么问题,但是eval是个危险函数,前后端没有严格的过滤,这个可以利用,输入:(-497559)+(969608)+(-255632)+(587860)+(716596) and 1==1 后提示Congratulations。运行后得到flag : DASCTF{53a6ee70a3e8c013e2b1dbb2b926d3b2}初步思路,打开F12,查看头,都发现了这个表达式的base64加密字符串。
2024-07-20 17:11:38
722
原创 [web]-反序列化-绕过__wakeup(转)
终点:很直接是echo $flag,在__destruct中,username==='admin' 和 password==100。反序列化过程中发现起点在终点之前调用,反而是捣乱的,那我们就不需要自动执行__wakeup,绕过的方法,设置的字段数量比实际字段大的值。其实简单的很简单,难得也很难,慢慢学习就好,没必要焦虑,觉得很难,纯粹一个兴趣爱好就行。起点:_wakeup函数中是$this->username='guest',是给赋值;按照常规思路,寻找起点、终点、跳板。
2024-07-18 21:58:51
515
原创 【web]-php反序列化-复杂1(转)
从Monkey类中可以看到,$this->head的值可以来源于构造方法,默认值为 Zoo,但是这样使用显然不可能,因为反序列化的时候,是不会调用构造方法的。通常反序列化过程中,必然会被自动调用的是__wakeup 和 __destruct 两个魔术方法,所以寻找上述代码中的起点,发现只有在Monkey类中存在__wakeup,那么就暂时先以Monkey类作为起点,进行反序列化操作,但是是否能达到终点并不完全确定,如果最终无法到达终点,那么我们就必须要继续寻找新的起点,或者是评估调用链是否正确。
2024-07-18 09:33:58
967
原创 【web】-反序列化-to_string
_toString()当对象被当着字符串执行的时候,自动执行。终点:system($this->cmd);起点:"hello".$this->s;跳板:"hello".$this->s;
2024-07-17 18:45:00
208
原创 [web]-反序列化漏洞-easy入门
魔术函数__wakeup()会在反序列化的时候自动执行, 看到里面有system函数,构造cmd参数,执行系统命令。最终payload: O:1:"A":1:{s:3:"cmd";通过get参数传递包含构造cmd参数的字符串。
2024-07-16 15:54:41
325
原创 [misc]-压缩包-zip
是base64编码,解密后得到乱码,010查看可以发现有flag.txt字样:考虑压缩文件,补齐文件头得到。打开附件,发现都是68个小的压缩文件,且是加密的,根据题目提示,考虑crc32碰撞。题目:拼在一起解下base64就有flag。
2024-07-15 11:02:43
838
原创 MISC-压缩包-奇怪的文件
下载后是三个文件,用010打开后,看不出问题,看了writeup,提示是三个文件开头分别是03 04和01 02和05 06,分别对应zip的三个分区(数据区,目录区,目录结束区),每个文件加上头504B,复制到010里,保存为zip文件,就是将三个文件合起来。使用010打开,最后发现504B,zip压缩文件,binwalk或者foremost分离,用手工在010里面找到504b0304复制保存未zip文件。010打开后发现最后有一段base64加密文字,经过两次base64解密后,得到flag。
2024-07-14 06:03:38
705
原创 [misc]-流量包-菜刀666
一般流量包可以用binwalk,foremost分离,分离后发现有个压缩文件需要密码,用上述图片文字解压后得到flag。通过工具将16进制保存为文件得到图片:Th1s_1s_p4sswd_!命令执行,打开流量包发现,一句话木马。这里的提示,需要密码,没有打开flag.zip。目录遍历,也多了一张图片6666.jpg。这里有张图片FFD8(JPG)文件头。whoaii,ls 等命令。
2024-07-14 06:02:48
234
原创 【web】-rce-Commix
输入ls查看,能够显示文件列表;ls /提示hacker,flag也是Hacker,ls .. 返回上级。说明后台过滤了/ cat等关键词,并没有过滤空格。采用拼接方式的payload: a=fl;$c$d $a$b;或者 cat fla?.php cat f*打开页面就知道是命令执行。
2024-07-14 06:01:33
148
原创 [web]-rce-刀塔
nid参数输入ls,提示非法输入,不能接受字母,输入通配符*,能够返回,超过5个*也会提示非法操作。打开网站,flag.php,点开后发现是乱码。用Hex显示,也无法解码。设置如下payload: act=news&nid=?查看源代码发现有不少提交参数的地方,考虑sql注入和命令执行。没有sql注入提示的线索。
2024-07-14 06:00:25
230
原创 【web】-代码审计-无权查看
题目:有些小白的运维人员会在服务器上直接做文件备份,比如将一个.php文件备份成.php.bak文件。ctrl+u查看源码,发现注释forbidden!--index.php.bak-->直接可以看到用户名和密码通过get方式传递。打开网址提示,forbidden!打开提示的备份文件得到代码。
2024-07-13 15:52:52
241
原创 [web]-sql注入-白云搜索引擎
执行结果如下:可以看到数据库名称,简单的联合注入,获取库、表、列、数据内容,都是固定的脚本。最终得到:flag{fabbf4abe040f2fdac8234099facdccb}当然也可以用sqlmap爆破,不用考虑前端过滤的因素。禁用js,尝试命令执行和sql注入,payload为。ctrl+u查看源代码,发现前端有js过滤。
2024-07-13 15:46:40
436
原创 【web]-f12-iphone6
题目:屌丝没有苹果,手机都买不起,咋办?室友的iphone6好眼馋,某些网站也只有手机打得开(答案为flag{}形式,提交{}中内容即可)手机模式浏览,F5刷新下就可以看到了。
2024-07-13 15:31:02
267
原创 [reverse]-调试-easycrack
先给本地的数组的每个位置赋值,然后接收我们输⼊的字符串,再通过字符串对比函数来对比输⼊的字符串是否和本地校验的字符串⼀样,于是在strcmp 处下断点,位置如下。
2024-07-13 14:26:40
207
原创 【逆向】-异或-分组异或2
加密函数将4个参数又重新命名,混淆视听,但是还是可以看到是嵌套循环,动态调试直接看结果可以发现,函数将32个字符分成7个一组,每组分别异或这个7长度的字符串。src长度32,encrypt函数加密,工4个参数,_FFFC双击,可以看到是个长度为7的固定值FnTest!
2024-07-13 14:15:10
295
原创 【逆向】-异或-简单的异或
读入超过10个数,看到加密是一个嵌套循环,自己异或后,再和数组每位进行异或,最终输出加密后的数组。根据异或我们可以看到有2个值,要么没加密,要么和一个char值加密。
2024-07-13 13:49:40
460
原创 [crypt]-异或-异性相吸
打开密文是乱码,使用16进制查看,一串数字,和key转换为bytes逐位异或。开始以为是键盘密码,qeasdf,左上角区域。压缩包两个文件,一个key,一个密文。
2024-07-13 13:26:09
308
原创 [crypt]-爆破-残缺的哈希值
题目:小明一直将电脑密码的哈希值写在纸上,结果一不小心将墨水撒在了上面,只看得到前10位是c2979c7124,小明只记得密码是4位的数字加字母,你能帮小明恢复密码的哈希值吗?(提示:flag为密码的哈希值)
2024-07-13 13:12:48
418
python逆向的题目素材,和工具pyinstxtractor.py、uncompyle,以及加密算法tinyaes
2024-07-24
agsXMMP开发API
2010-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人