0x01 背景 团队大佬在做PHP代码审计的时候发现PHP代码是被混淆过的。虽然可以通过自己手动解密可以还原原先的PHP代码,但是混淆过程比较复杂且自己写脚本还原非常麻烦。所以,我这边通过PHP底层的操作对混淆后的PHP代码进行还原。 0x02 PHP代码混淆原理 PHP代码混淆一般来说有两种方法: 需要PHP扩展 无需PHP扩展 本文我们主要讲解无需PHP扩展的代码混淆的解密。大多数的无需扩展的php代码混淆原理上都是使用eval进行代码的执行。如果我们能够得到eval函数的参数,即可获得解密后的代码
团队大佬在做PHP代码审计的时候发现PHP代码是被混淆过的。虽然可以通过自己手动解密可以还原原先的PHP代码,但是混淆过程比较复杂且自己写脚本还原非常麻烦。所以,我这边通过PHP底层的操作对混淆后的PHP代码进行还原。
PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的。而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞。利用PHP文件包含漏洞入侵网站也是主流的一种攻击手段。本文对PHP文件包含漏洞的形成、利用技巧及防范进行了详细的分析,并通过一个真实案例演示了如何利用PHP文件包含漏洞对目标网站进行渗透测试,最终成功获取到网站的WebShell。
文件包含是指一个文件里面包含另外一个文件;开发过程中,重复使用的函数会写入单独的文件中,需要使用该函数的时候直接从程序中调用该文件即可,这一个过程就是“文件包含”
和SQL注入等攻击方式一样,文件包含漏洞也是一种“注入型漏洞”,其本质就是输入一段用户能够控制的脚本或者代码,并让服务器端执行。
文件包含定义: 服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时,您只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。造成方便的同时,也留下了隐患。
我使用了一个特殊的图片上传技巧,绕过PHP GD库对图片的转换处理,最终成功实现了远程代码执行。 事情是这样的。当时我正在测试该网站上是否存在sql注入漏洞,不经意间我在网站个人页面发现了一个用于上传头像的文件上传表单。开始时我并没指望在上传功能处发现漏洞,但我决定试试。 我上传了一个图片文件,通过截断http数据包,修改jpg图片的文件名后缀为php,然后继续上传。我惊讶的居然上传成功了,我几乎不敢相信这么简单的漏洞居然存在。于是我复制了图片url并且在浏览器上打开。进入我眼帘的是图片的二进制代码,这意味
PHP提供如下函数用于执行外部应用程序;例如:system()、shell_exec()、exec()、passthru()
大家好,又见面了,我是你们的朋友全栈君。allow_url_fopen与安全以及PHP libcurl allow_url_fopen=ON常常会给服务器和管理员带来麻烦,但是经常性(至少我这样认为)的我们需要远程读取某个东西,如果设置allow_url_fopen=OFF将其关闭,我们就没有办法远程读取。
用于访问本地文件系统,不受allow_url_fopen与allow_url_include的影响
比如说能够对一个php的站点,控制php代码,那么我们就把它划分为代码执行,如果能执行网站所在服务器中的命令,我们这就把它划分为命令执行,因为它执行的是系统命令。
得到flag: flag{84829618-f50c-4c79-8212-2154477d1f99}
php文件包含漏洞 基本 相关函数 php中引发文件包含漏洞的通常是以下四个函数: include() include_once() require() require_once() reuqire(
今天晚上,听了漏洞银行的大咖公开课讲的内网渗透,感觉和大咖之间还有不少差距,不过搞到了一波工具,心里依然美滋滋~
这次的内容是DC系列的第五个靶机,不得不说这个系列每一个靶机都很有代表性,闲话少叙,搞起来。
前几天在危险漫步的博客看到一篇关于PHPWind v7.5/v8.0漏洞的文章,考虑到PHPWind是国内著名的论坛程序,利用它建站的网站非常多,我顿时来了兴趣,决定看看这个漏洞怎么利用。
在这篇博文中,我将为大家演示如何利用PHP应用中的远程文件包含漏洞的技术。我们将绕过php远程文件包含的限制,并执行RFI的利用,即使PHP环境被配置为不包含来自远程HTTP/FTP URL的文件。
今天看到了某家厂商的Webshell检测引擎,实测效果还可以,确实把PHP Webshell检测这个难题实质上地推进了一步。
RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。
PHP作为一种解释型语言,不同于编译型语言编译结果即为当前CPU体系的指令,PHP源代码只有编译成opcode才能够被zend虚拟机直接执行。
这次的靶机渗透实战是一个找寻靶机中的flag的过程,并以获得最终的flag为目标。靶机下载地址[1],需要更详细的资料可以参考文章1[2]、文章2[3]、文章3[4]
0x00 简介 ---- 之前看了seay写的PHP代码审计的书,全部浏览了一遍,作为一个代码审计小白,希望向一些和我一样的小白的人提供一下我的收获,以及一个整体的框架和常见漏洞函数。这也算是这本书的一个学习笔记吧,可以结合我捋顺的思路来看这本书。: ) 0x01 整体 ---- 学习代码审计的目标是能够独立完成对一个CMS的代码安全监测。其通用的思路有: 通读全文代码,从功能函数代码开始阅读,例如include文件夹下的common_fun.php,或者有类似关键字的文件。 看配置文件,带有config关
对了,本周在读书目为《思考快与慢》,翻译不是特别接地气,读起来挺吃力,所以到现在还没读完,虽然我也没奢望一周读完它,毕竟1000多页呢
ThinkPHP配置不当可导致远程代码执行 漏洞分析报告 1. 漏洞描述 ThinkPHP是一款国内流行的开源PHP框架,近日被爆出存在可能的远程代码执行漏洞,攻击者可向缓存文件内写入PHP代码,导致远程代码执行。虽然该漏洞利用需要有几个前提条件,但鉴于国内使用ThinkPHP框架的站点数量之多,该漏洞还是存在一定的影响范围。 2. 漏洞危害 攻击者可通过该漏洞获取网站的控制权限,可修改页面,导致数据泄漏等问题。 3. 影响版本 ThinkPHP 3、ThinkPHP 5 4. 漏洞利用前置条件 缓存名已知
众所周知,Contact Form 7是一款非常受欢迎的WordPress插件。但是根据安全研究专家的最新发现,Contact Form 7中存在一个不受限制的文件上传漏洞。这个漏洞被标记为了高危漏洞,目前存在漏洞的Contact Form 7插件已经安装在了500多万个网站上,使得这些网站将成为攻击者严重的“香饽饽”。在该漏洞的帮助下,攻击者将能够对目标站点执行网络钓鱼、网站接管、数据窃取和Credit卡欺诈等攻击活动。
Apache HTTPD是一款HTTP服务器,其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。该漏洞属于用户配置不当所产生,与具体中间件版本无关。
构造特定路由访问即可控制反向引用2处的值,又因为这里是双引号可以解析变量,利用PHP复杂变量进行命令执行.
PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。 最常见的就属于本地文件包含(Local File Inclusion)漏洞了。 我们来看下面一段index.php代码:
文件包含漏洞是代码注入的一种。其原理就是注入一段用户能控制的脚本或代码,并让服务器端执行,代码注入的典型代表就是文件包含File inclusion。文件包含可能会出现在jsp、php、asp等语言中。服务器通过函数去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的。常见的文件包含的函数如下 PHP:include() 、include_once()、require()、require_once()、fopen()、readfile() JSP/Servlet:ava.io.file()、java.io.filereader() ASP:include file、include virtual
朋友买了一套php源码,要做类似于证书查询的功能,让我帮忙审计一下有没有高危的漏洞,仅挖掘getshell,告知我这个系统是由ecms也就是帝国cms简化来的,仅有后台登录前台查询页面。
本文我们讲如何绕过远程URL包含限制。在PHP开发环境php.ini配置文里”allow_url_fopen、allow_url_include“均为“off”的情况下,不允许PHP加载远程HTTP或FTP的url进行远程文件包含时。我们依旧可以使用SMB,来加载执行远程文件。
Webshell实际上是一个能够执行恶意功能的PHP代码文件。Webshell要执行恶意功能,其代码结构主要由两部分组成:数据传递部分和数据执行部分。在webshell中,数据传递部分是指webshell中用来接收外部输入数据的部分,webshell可以根据外部输入数据动态地交互执行恶意功能。在webshell中,数据执行部分指的是webshell中的system函数,用于执行代码执行和执行命令等命令。
今天在引入模板文件时,在HTML文件中直接嵌入PHP代码引入模板文件,发现不起效。打开浏览器开发者工具,发现该部分代码被注释了。
目前我们正在对ShadowBrokers公开的利用工具以及脚本等进行了全方位的分析和分类工作,所以写一篇关于Linux下“envisioncollision”漏洞利用的简单介绍是非常值得的。我们之前已经对所公开文件中的PHPBB漏洞进行披露,当时的文章中提到这个漏洞非常受网络犯罪组织的欢迎,因为很多web论坛都存在“有效”的SIGINT目标,所以接下来披露另一个web论坛漏洞合情合理。 基本介绍 对于“envisioncollision”,我们不仅发现了工具本身,还发现了一个用户手册 - “user.too
PHP语言的发展趋势是朝着更高的性能、更好的可扩展性、更强的类型支持和更好的安全性方向发展。近年来的重要更新和改进使得PHP更适合构建高性能、可靠和安全的Web应用。
在项目实施过程中,往往把一个大项目进行分拆成几个独立的项目,项目用完全独立的域名和文件,可以放到不同的服务器上的独立分项目
abdullkarem Wordpress PHP Scanner是一种扫描工具,通过检测WordPress网站中的PHP代码漏洞来发起攻击。
当你想要把PHP代码显示到页面上时,highlight_string()函数就会非常有用,它可以用内置定义的语法高亮颜色把你提供的PHP代码高亮显示。这个函数有两个参数,第一个参数是要被突出显示的字符串。第二个参数如果设置成TRUE,就会把高亮后的代码返回。
php://filter是PHP中独有的协议,利用这个协议可以创造很多“妙用”,本文说几个有意思的点,剩下的大家自己下去体会。本来本文的思路我上半年就准备拿来做XDCTF2016的题目的,没想到被三个白帽的一题抢先用了,我也就只好提前分享一下。
由于PbootCms的模板机制,原生php代码中是无法对pb标签中的值进行二次处理的。
【导读】徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设。最近,PHP7和HHVM的性能之争成为了一个讨论热点,
根据“TIOBE编程语言排行榜”(榜单虽然统计方式有局限,但是仍然不失为一个比较好的参考),2010年PHP最高曾经在世界编程语言中排名第三。可见,PHP语言在PC互联网时代的Web领域可谓叱咤风云,擎天一柱。
2019年1月14日消息,thinkphp又被爆出致命漏洞,可以直接远程代码执行,getshell提权写入网站木马到网站根目录,甚至直接提权到服务器,该漏洞影响版本ThinkPHP 5.0、ThinkPHP 5.0.10、ThinkPHP5.0.12、ThinkPHP5.0.13、ThinkPHP5.0.23、thinkphp 5.0.22版本。
大家好,我们是红日安全-代码审计小组。最近我们小组正在做一个PHP代码审计的项目,供大家学习交流,我们给这个项目起了一个名字叫 PHP-Audit-Labs 。现在大家所看到的系列文章,属于项目 第一阶段 的内容,本阶段的内容题目均来自 PHP SECURITY CALENDAR 2017 。对于每一道题目,我们均给出对应的分析,并结合实际CMS进行解说。在文章的最后,我们还会留一道CTF题目,供大家练习,希望大家喜欢。下面是 第3篇代码审计文章:
首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架构都以JSON格式进行数据的传输。
第1步:词法分析将PHP代码转换为有意义的标识Token。该步骤的词法分析器使用Re2c实现的。
PbootCMS是网站常用的一款CMS系统,是由国内著名程序开发商翔云科技研发的一套网站CMS系统,免费开源,扩展性较高,使用的企业很多但是避免不了网站存在漏洞,SINE安全对其代码进行安全审计的同时发现该pbootcms 存在严重的漏洞,包含SQL注入获取管理员密码漏洞,以及远程代码注入执行漏洞。该pbootcms系统采用的是PHP语言开发,数据库是MYSQL,并支持pgsql数据库大并发处理,系统默认支持的服务器环境,PHP5.3版本以上,以及mysql版本5.6,apache,nginx,都可以运行该CMS系统。关于这次检测出来的CMS漏洞,我们进行详细的介绍。
领取专属 10元无门槛券
手把手带您无忧上云