PHP常见代码执行后门函数 代码执行: 应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞. 常见php代码执行函数介绍 常用执行代码函数 1.eval(): <?php @eval($_POST['hacker']); ?> eval函数将接受的字符串当做代码执行 2. assert(): 用法和 eval()一样 <?php @assert($_POST['hacker']); ?> 3.preg_re…
帝国CMS(EmpireCMS) v7.5后台任意代码执行 一.漏洞描述 EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行. 二.影响版本 EmpireCMS<=7.5 三.环境搭建 1.官方下载EmpireCMS V7.5 下载地址:http://www.phome.net/download/ 2.把下载的文件中的upload下的所有目录和文件放入到网站根目录下 3.修改php.ini配置文件, PHP环境中必须开启短标签…
0x00代码执行原理 应用程序在调用一些能够将字符串转换为代码的函数(如PHP中的eval)时,没有考虑用户是否控制这个字符串,将造成代码执行漏洞. 该漏洞主要存在于eval().assert().preg_replace().call_user_func().array_map()以及动态函数中. 很难通过黑盒查找漏洞,大部分都是根据源代码判断代码执行漏洞. 通常会使用escapeshellarg对参数进行处理,但在低版本的PHP库函数中该函数存在漏洞(原因:Windows上未对反斜杠进行过滤…
文件包含漏洞 本地文件包含 截断技巧: ../../etc/passwd%00(\x00 \0) 利用操作系统对目录最大长度的限制,可以不需要0字节而达到截断的目的.目录字符串,在windows下256字节.linux下4096字节时会达到最大值,最大值长度之和的字符串将被丢弃.构造方法: ././././././././././././././abc  或者 ////////////////////////////////////abc 或者  ../1/abc/../1/abc/../1/a…
RCE(remote command/code execute)概述 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器.防火墙.入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果. 而,如果,设计者在完成该功能时,没有做严格…
jquery Ajax 不执行回调函数success的原因: $.ajax({ type: "post", contentType: "application/json", url: basePath+"pages/Tongji/disposeAgree.action?cepingitem="+cepingitem+"&userrelation="+userrelation, //data: {fenshu:8},da…
字符串还能当做javascript代码来执行?你能想到哪些方法? 1.setInterval("要执行的字符串",500);window对象的方法既可以传字符串,也可以传函数.该函数第一个参数传字符串容易引起内存泄漏,尽量避免这样写.2.setTimeOut("要执行的字符串",500);window对象的方法既可以传字符串,也可以传函数.该函数第一个参数传字符串容易引起内存泄漏,尽量避免这样写.3.eval("要执行的字符串");4.new F…
eval/exec 将字符串当做代码执行 eval/exec 这两个函数可以将字符串解析为代码并执行. 区别 1.eval 解析变量和表达式, 而 exec 解析语句 a = '1' print(eval(a)) # 打印变量 a 的值 print(eval('int(a)+1')) # 打印1+1的计算结果2 exec('a=1') # 为变量 a 赋值 print(a) # 打印变量 a 的值 输出: 1 2 1 2.eval 不支持多行输入, 而 exec 可以输入多行, 比如 a = '…
PHP 代码审计代码执行注入 所谓的代码执行注入就是 在php里面有些函数中输入的字符串参数会当做PHP代码执行. 如此的文章里面就大有文章可以探究了 一 常见的代码执行函数 Eval,assert,preg_replace Eval函数在PHP手册里面的意思是:将输入的字符串编程PHP代码 测试代码如下,然后在URL里面将变量moon的值赋值为phpinfo() 执行成功 得出当前PHP版本, preg_replace执行正则表达式搜索和替换 当pattern 中存在/e 模式修饰符,即允许执…
PHP中可以执行代码的函数,常用于编写一句话木马,可能导致代码执行漏洞,这里对代码执行函数做一些归纳. 常见代码执行函数,如 eval().assert().preg_replace().create_function() array_map().call_user_func().call_user_func_array(),array_filter,usort,uasort() 文件操作函数.动态函数($a($b)) 1.eval()  eval() 函数把字符串按照 PHP 代码来计算,如常…
RCE远程代码执行 命令分割符: linux: %0a .%0d .; .& .| .&&.|| 分隔符 描述 ; 如果每个命令都被一个分号(:)所分隔,那么命令会连续地执行下去 && 前面执行成功后面才会执行 & 不执行错误检查和运行所有命令 || 前面执行失败才会执行后面 | 符号 左边输出 作为右边输入.会显示最后一个命令的执行结果 windows: %0a.&.|.%1a(一个神奇的角色,作为.bat文件中的命令分隔符) 敏感字符过滤绕过:…
目录 例一 例二 补充 看一道ctf题-----[BJDCTF2020]ZJCTF,不过如此 参考链接 例一 源码: <?php preg_replace('/(.*)/ei', 'strtolower("\\1")', ${phpinfo()}); 我们可以控制第一个和第三个参数,第二个参数固定为 'strtolower("\1")' 字符串. 我们先看第二个参数中的\\1 ,\\1实际上就是 \1,而 \1 在正则表达式中有自己的含义, 反向引用 对一个正…
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt230 1.  JVM体系结构 图1 JVM体系结构    方法区:存放JVM加载的类型信息.包括: 类型基本信息,常量池,字段信息,方法信息,类变量,指向ClassLoader的引用,Class类的引用,方法表等. (对应JVM内存配置中的-PermSize等)    java堆:程序中创建的类的实例和数组,包括class对象和exception对象,存放在堆里面.堆中除了…
1 代码执行结构 代码执行结构有三种:顺序结构.分支结构和循环结构. 1.1 分支结构 分支结构:实现准备多个代码块,按照条件选择性执行某段代码. 在MySQL中只有if分支. 基本语法 if 条件判断 then -- 满足条件要执行的代码 else if -- 不满足条件要执行的代码 else -- 不满足条件要执行的代码 end if; 触发器结合if分支:判断商品库存是否足够,不够不能生成订单. -- 触发器结合if分支,判断商品库存是否足够,不够不能生成订单 DELIMITER $$ C…
final final域使得确保初始化安全性(initialization safety)成为可能,初始化安全性让不可变形对象不需要同步就能自由地被访问和共享 作用在类上               则为final类,final类不能被继承.一般用于工具类时,同时把工具类构造函数声明为私有,暴露静态共有方法 作用在成员变量上    则视为常量.此时赋值方式有三种:(1)声明时赋值(2)构造函数中赋值(3)代码块中赋值. 即不管哪种方式都要保证在使用该变量之前要确保已经有值.使用该特性,可以强制赋…
转载--Typecho install.php 反序列化导致任意代码执行 原文链接(http://p0sec.net/index.php/archives/114/) 0x00 前言 漏洞公布已经过去一段时间了,当时只是利用了一下,并没有进行深度分析,现转载文章以便以后查看. 听说了这个洞,吓得赶紧去看了一下自己的博客,发现自己中招了,赶紧删除install目录. 恶意代码的大致操作顺序: base64解码后反序列化cookie中传入的__typecho_config参数, 然后让__typec…
今天了解了php 168的任意代码执行漏洞,Poc: http://192.168.6.128/pentest/cms/php168/member/post.php?only=1&showHtml_Type[bencandy][1]={${phpinfo()}}&aid=1&job=endHTML 通过代码审计得知,最后会执行 eval("\$array[showurl]=\"$filename_b\";"); 而$filename_b最终值…
Git漏洞允许任意代码执行(CVE-2018-17456) 国外安全研究员 joernchen 在 9 月 23 日向 git 官方报告了漏洞的相关细节.10月5日,Git项目披露了一个漏洞,编号为CVE-2018-17456.当用户克隆恶意存储库时,该漏洞可能会导致执行任意代码. 漏洞描述 这个漏洞已被分配 CVE-2018-17456 这个唯一 ID,与之前的 CVE-2017-1000117 可选注入漏洞相似 -- 恶意仓库可以新建一个 .gitmodules 文件,其中包含以破折号开头的…
漏洞概述 ECShop的user.php文件中的display函数的模版变量可控,导致注入,配合注入可达到远程代码执行.攻击者无需登录站点等操作,可以直接远程写入webshell,危害严重. 漏洞评级 严重 影响范围 ECShop全系列版本,包括2.x,3.0.x,3.6.x等. 漏洞分析 0x01. SQL注入 先看 ecshop/user.php:302 $back_act 变量来源于 HTTP_REFERER ,可控. Ecshop 使用了 php 模版引擎 smarty ,该引擎有两个基…
i春秋作家:大家奥斯的哦 原文来自:https://bbs.ichunqiu.com/thread-41471-1-1.html 代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时间弄,直到前两天碰上一个写入了菜刀马但是死活连不上菜刀的站,顿时不知道怎么继续了,所以就趁这个机会整理了一下代码执行函数怎么getshell和命令执行函数怎么getshell的思路,各位大牛有什么想法可以一起交流一下.那么我们开始正题. 菜刀马的原理其实是调用了代码执行函数.而菜刀之所以能够执行系统…
  0x00 环境准备 QYKCMS官网:http://www.yunucms.com 网站源码版本:YUNUCMSv1.0.6 程序源码下载:http://www.yunucms.com/Download/index.html 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/app/admin/controller/System.php   第8-24行: public function basic() { $coffile = CONF_PATH.DS.'extra'.DS.'sys…
  0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www.damicms.com/downes/dami.rar 测试网站首页: 0x01 代码分析 1.漏洞文件位置1:/Admin/Lib/Action/TplAction.class.php  第118-135行中: public function del() $id = dami_url_repal…
  0x00 环境准备 YzmCMS官网:http://www.yzmcms.com/ 程序源码下载:http://pan.baidu.com/s/1pKA4u99 测试网站首页: 0x01 代码分析 1.文件位置: /application/admin/controller/sql.class.php第10-42行中: public function init() { if(isset($_POST['sqlstr'])){ if(!C('sql_execute')) showmsg('根据系…
  0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www.damicms.com/downes/dami.rar 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/Admin/Lib/Action/ConfigAction.class.php 第213-225行: $config_file = "./Public/Config/config.ini…
0x00 漏洞背景 Nexus Repository Manager 3是一款软件仓库,可以用来存储和分发Maven,NuGET等软件源仓库.其3.14.0及之前版本中,存在一处基于OrientDB自定义函数的任意JEXL表达式执行功能,而这处功能存在未授权访问漏洞,将可以导致任意命令执行漏洞.2019年2月5日Sonatype发布安全公告,在Nexus Repository Manager 3中由于存在访问控制措施的不足,未授权的用户可以利用该缺陷构造特定的请求在服务器上执行Java代码,从而…
0x00 前言 问题发生在user.php的的显示函数,模版变量可控,导致注入,配合注入可达到远程代码执行 0x01 漏洞分析 1.SQL注入 先看user.php的$ back_act变量来源于HTTP_REFERER,我们可控. 分配函数用于在模版变量里赋值 再看显示函数, 读取user_passport.dwt模版文件内容,显示解析变量后的HTML内容,用_echash做分割,得到$ķ然后交给isnert_mod处理,由于_echash是默认的,不是随机生成的,所以$ VAL内容可随意控制…
1.Java中哪些类是不能被继承的? 不能被继承的是那些用final关键字修饰的类.一般比较基本的类型或防止扩展类无意间破坏原来方法的实现的类型都应该是final的,在java中,System,String,StringBuffer等都是不能被继承的. 2.String是基本数据类型吗? 基本数据类型包括byte short char int  long float  double  boolean  . java.lang.String类是final类型的,因此不可以继承这个类,不能修改这个类…
提升 SharePoint 代码执行权限 关于如何提升 SharePoint 代码执行权限及相关知识介绍的文章我们园子里有很多, 这里给出其中两篇文章的链接,就不再啰嗦了. http://www.cnblogs.com/llbofchina/archive/2008/05/24/1206393.html http://www.cnblogs.com/nirvanalst/archive/2008/10/13/1310411.html 由于项目中经常需要提升某些代码的执行权限,每次都需要写类似于下…
0x01 漏洞介绍 Drupal是一个开源内容管理系统(CMS),全球超过100万个网站(包括政府,电子零售,企业组织,金融机构等)使用.两周前,Drupal安全团队披露了一个非常关键的漏洞,编号CVE-2018-7600 Drupal对表单请求内容未做严格过滤,因此,这使得攻击者可能将恶意注入表单内容,此漏洞允许未经身份验证的攻击者在默认或常见的Drupal安装上执行远程代码执行. 0x02 漏洞分析 Drupal渲染数组的情况有页面加载和Ajax表单发出的请求,在这里Ajax API调用是攻…