风之栖息地

风之栖息地

habitat of wind

2019DDCTF 部分我解决的题目writeup
我得说DDCTF真的是脑洞太大,一言难尽。。。 滴~文件包含,需要一些转换。转成hex值之后两次base64。 12345678910# -*- coding: utf-8 -*- import base64 import binascii text = raw_input('text: ') text = binascii.b2a_hex(text) print text print base64.b64encode(base64.b64encode(text)) 拿到index.php源码 123456789101112131415161718192021222324<?...
2019TCTF web writeup
wallbreaker easy这道题在比赛的时候专注在imagick上面,但是由于是最新版本,以前的bypass漏洞已经修补。。。之后由于复试的原因没有仔细研究,现在开始复现。 这道题给了一个webshell,密码是backdoor,可以直接用菜刀连接,然而用phpinfo查看禁用函数,发现已经把所有执行命令的函数都ban了,并且知道操作系统是ubuntu18.04. 所以这是一个受限制的webshell绕过disable_function的问题 bypass disable_function的方法绕过disable_function也是一个老生常谈的问题了。总结一下大概有一下四种:...
快速寻找串行接口
这是一篇来自devttys0的一篇文章,在寻找串口的方法上给出了很多有用的方法,是一篇不错的总结文,在国内没有看到翻译,所以就想翻译成中文供大家学习,第一次做翻译,如有错误之处,请大家体谅,可以给我留言,我会快速修改。 原文链接 鉴于这个博客的名声和我拥有的点击量,我认为现在是大家一起讨论串口的时候了,尤其是嵌入式系统的串口。 我的目标是通过使用确定的测试和有根据的猜测来讲解我发现的有效识别和逆向嵌入式串口的技术,而不需要特别昂贵的设备。 简介串口对于嵌入式开发人员特别有用,通常会使用串口来: 进入boot loader 得到启动和调试信息 通过shell和系统交互 不用说这个功能同...
萤石某摄像头的安全分析--固件提取
由于之前考研一直没有时间搞,现在终于有空来做一些小实验。 固件提取方式比较主流的提取方式有以下几种: 官网或者找客服索要固件 在线升级的时候抓包得到下载地址 拆flash芯片,用编程器读取芯片内容(也可以使用烧录夹直接获取flash,但是有些时候有保护引脚就只能拆芯片) 用硬件电路的调试接口和固件的bootloader获取固件 从串口进入系统之后,打包固件 首先,这个摄像头现在没有升级操作,官网也没有固件。烧录夹现在还用的不熟练,在分析之后决定用硬件调试接口来获取固件。 TTL接口线序这里推荐一篇仙果大佬写的省钱版测序 https://bbs.pediy.com/thread-246...
thinkphp 5.0.23 rce分析和复现
分析入口是在app::run(),这里有创建http的请求实例, 随后在后面会有路由检查,从这里跟进函数routeCheck。 在路由检查中会到路由类的check方法处,继续跟进。 在check中会有获取当前方法的method 下面在method中会获取var_method这个伪变量,其实这个就是我们通过post传进的_method,这里进入判断之后会将我们post的值当做Request类的方法调用,这里我们的poc是传入的__construct,这样就会调用它的构造方法,并且参数是post数据。 继续跟进构造方法,这里的foreach会遍历所有变量,将存在的参数全部覆盖掉,在...
haozi xss 挑战赛 writeup
0x00123function render (input) { return '<div>' + input + '</div>'} 没什么说的,div标签+没过滤直接插 <img src=1 onerror=alert(1)> 0x01123function render (input) { return '<textarea>' + input + '</textarea>'} 输入点在<textarea>这种标签中,需要闭合标签,在插入payload。</te...
code-breaking lumenserial 复现
题目分析php的laravel框架的审计题目。这里记录一下复现过程。整体思路是venenof7师傅的。 先来看入口,不知道他们怎么就找到了这个请求…… /server/editor?action=Catchimage&source[]=phar:///var/www/html/upload/image/ 我在黑盒测试的时候只找到了action,完全没有source的影子,个人感觉是结合白盒测试出来的。这里对应的源代码如下: 12345678910111213141516171819202122232425protected function doCatchimage(Reques...
code-breaking easy部分题目writeup
ph师傅的代码审计CTF题目 https://code-breaking.com easy - function1234567<?php$action = $_GET['action'] ?? '';$arg = $_GET['arg'] ?? '';if(preg_match('/^[a-z0-9_]*$/isD', $action)) {    show_source(__FILE__);} else {    $action('', $arg);} 观察正则表达式可以发现正常的函数名都不行,所以很容易联想到要在函数名中加入其它字符,这道...
Google CTF Beginner Part2
Holey Beep(PWN)Holey Beep是CVE-2018-0492,详细的漏洞细节 https://sigint.sh/#/holeybeep 。一开始以为要用这个的exp,结果一看给的二进制文件,似乎不太对……我们需要得到/secret_cake_recipe的内容,然而权限不够,所以这里应该是拿来越权的。 我们看到第一个if是一个通过信号触发的条件,第二个if知道了程序需要参数,然后会open一个写死的路径,之后将输入的参数代入ioctl(device,0x4B2F,参数),出现问题就会打印报错信息,然后关闭打开的文件。循环上面的操作把所有的参数都跑一遍。 信号触发的i...
巅峰极客CTF 部分Web复现
复现了三道题,其他的都关环境了,记录一下复现的这三道吧。 A Simple CMS在网上找到的onethink的漏洞分析文章 https://bbs.ichunqiu.com/thread-4918-1-1.html 这个是原理相同的,只不过是thinkphp https://xz.aliyun.com/t/99 通过这些我们知道,问题是出在缓存的存储上,我们的用户名被简单的反序列化存储进了缓存文件中。所以要getshell的话我们只需要通过用户名传入webshell。但是这里有个条件,我们必须能猜到缓存文件的名字。 在题目的根目录下扫到 www.zip 得到题目的源码,在这里我们看到f...
avatar
hurricane618
May the wind guide you
FRIENDS