TP-Link路由器命令注入漏洞分析

0x01 背景

TP-Link TL-WVR等都是中国普联(TP-LINK)公司的无线路由器产品。

多款TP-Link系列产品存在命令注入漏洞,攻击者在登录后可发送恶意字段,经拼接后导致任意命令执行。

该漏洞由coincoin7发现,漏洞编号CVE-2017-16957

0x02 受影响产品

TP-LINK TL-WVR系列
TP-LINK TL-WAR系列
TP-LINK TL-ER系列
TP-LINK TL-R系列

0x03 漏洞分析

根据原文提供的链接,下载了TL-WVR450L的固件,使用binwalk解包,拿到squashfs系统文件,再用squashfs-tools将文件提取出来

下面是原作者提供的漏洞信息
受影响组件:uhttpd
漏洞文件:/usr/lib/lua/luci/controller/admin/diagnostic.lua
漏洞函数:zone_get_effect_devices(t)

Continue Reading...

BlueBorne蓝牙漏洞 for Android复现

0x01 漏洞背景

Armis Labs披露了一个攻击向量,使得搭载主流移动,桌面,IoT操作系统包括Android, iOS, Windows, Linux系统的设备均受其影响。

* CVE-2017-1000250 Linux bluetoothd进程信息泄露
* CVE-2017-1000251 Linux 内核栈溢出
* CVE-2017-0785 Android com.android.bluetooth进程信息泄露
* CVE-2017-0781 Android com.android.bluetooth进程堆溢出
* CVE-2017-0782 Android com.android.bluetooth进程堆溢出

0x02 测试环境

1、Android手机 红米Note
2、Android版本 MIUI8 with Android4.4.4
3、Kali2

0x03 POC复现

Continue Reading...

Typecho漏洞复现及修复

0x01 反序列化导致任意代码执行

install.php 230-234行

这里base64解码Cookie参数 __typecho_config 然后进行反序列化。但是我全局搜索了整个程序,除了install.php之外发现并没有__typecho_config在其他地方使用。结合大多数人的判断,这是Typecho开发者留下的后门。漏洞的利用需要反序列化结合POP链进行代码执行。

根据给出的exp.php,修改成poc,然后生成payload。

15行screenName处就是代码执行漏洞利用点,在此可以运行任意php语句。为了不影响网站运行,POC会在网站目录中生成poc.txt


Continue Reading...

PHPJiaMi免扩展加密分析及解密

0x00 前言

前几天去玩了pwnhub公开赛的题目,源码下载之后发现是PHPJiaMi加密。之前有分析过phpjm加密并写出过解密文件,所以研究下这个PHPJiaMi。
PHP免扩展加密的主流加密方法采用了ascii码 129-255的乱码来实现变量名、函数名混淆,编辑器打开后就是一堆乱码,造成不可读。

加密流程:源码->加密处理(压缩,替换,BASE64,转义)->安全处理(验证文件MD5值,限制IP、限域名、限时间、防破解、防命令行调试)->加密程序成品,再简单的说:源码+加密外壳==加密程序 (该段出处)

0x01 解密准备

这里做演示,我写了phpinfo()然后去http://www.phpjiami.com/生成加密文件,打开之后,果然都是一片乱码。
使用代码修复工具http://zhaoyuanma.com/phpcodefix.html将ascii不可见字符的变量修复成正常的变量名,再PHP代码美化,方便下一步分析。

0x02 函数分析

代码内有三个函数,由于每次加密这三个函数的顺序都不一样,这个以传参方式区分这三个函数
fun1 = ($var1, $var2 = '') = 核心函数,将乱码转成正常字符串
fun2 = (&$var1, $var2) = 校验IP、域名,防止被破解。最后一句是解密整个php文件
fun3 = ($var1) = 将需要用到的函数赋值给N个全局变量

Continue Reading...

第一届百度杯总决赛WriteUp for Web

0x00 前言

作为一个ctf菜鸡,第一次参加AWD模式的ctf,毫无经验的我只能被各位dalao吊打。很气

0x01 解题思路

由于是攻防赛制,比赛开始第一时间就上传自己写的phpwaf,主要作用还是记录日志用。
接着把源码下载下来,php文件基本都在/ez_web/admin,接着开始审计。

/ez_web/admin/calc.php
25行存在eval()函数,所以先不管他存不存在漏洞,第一时间注释掉,避免其他被其他选手拿到flag。(其实我也不知道该怎么利用,直到有dalao拿payload打我)

Continue Reading...