漏洞文件:

./inc/module/upload_img.php

先跟进 del_file 函数:

在 del_file 函数中首先执行了unlink操作,然后接着进行了file_exists 判断。

这是为了删除权限不够的文件,我们应该是没办法找到这类文件。那么如何绕过这么点呢?

unlink:是删除文件,如果是文件夹则会删除失败。

file_exists:则会判断 文件 或 文件夹 是否存在。所以当我们传递一个文件夹的时候既可以绕过。

最开始还有一个对时间的检测,绕过如下:

./inc/module/upload_img.php 该文件 默认是上传文件操作,我们可以在会员中心->编辑头像处上传文件,这样会导致创建一个以 年月日 命名的文件夹,就可以用来绕过第一个点了。

不过我们可以控制文件夹为这三个目录,相对来说会好一些:

然后就可以成功进入到 system 函数进行命令执行了。

多条命令用&连接,如果前面有一条命令错误,都会导致后面的执行失败。

也就是说我们必须要真正删除文件,然后在执行我们的命令。

最终exp为:

  请勿用于非法操作,exp已去掉。

修改对应的文件路径。可以直接修改为你上传的那个头像路径,右键就可查看你头像的路径了。

效果如图:

还有一处老问题注入:

./inc/module/user.php

getip函数:./inc/function/functions.php

因为使用的PDO拓展,所以支持多语句执行。

这注入应该算修复失败遗留的注入。

原来的修复方式:./inc/function/global_admin.php

而且我们前台加载的公共函数库是 ./inc/function/functions.php 这个文件。修复到了后台加载的函数库。

最新文章

  1. ios升级<注:来着微信平台>
  2. 【maven】maven创建web项目-pom文件提示web.xml is missing and <failOnMissingWebXml> is set to true
  3. java分享第八天-01(线程)
  4. JENKINS基础使用
  5. C#添加dll引用后,添加命名空间出错的解决方案
  6. BZOJ1455——罗马游戏
  7. android通话时第二通电话呼叫等待提示音音量大小
  8. JSONKit解析json数据
  9. 数据库调优过程(二):找到IO不存在问题,而是sqlserver单表写入IO瓶颈
  10. linux 关闭系统提示声音
  11. linux剪切拷贝
  12. 【转载】Hadoop和大数据:60款顶级大数据开源工具
  13. ios日历视图实现日期输入
  14. 136. Single Number【LeetCode】异或运算符,算法,java
  15. 转:深入Java集合学习系列:HashMap的实现原理
  16. 基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(一)
  17. Python格式化字符
  18. WPF中任务栏只显示主窗口
  19. Sql 注入详解:宽字节注入+二次注入
  20. [翻译]Javaslang 介绍

热门文章

  1. Arduino IDE 开发 ESP-01S/ESP-01物联网实战检测温度湿度上传MQTT服务器
  2. 第二章节 BJROBOT IMU 自动校正 【ROS全开源阿克曼转向智能网联无人驾驶车】
  3. Kafka基本原理概述
  4. 风炫安全web安全学习第三十四节课 文件包含漏洞防御
  5. MariaDB Galera Cluster集群搭建
  6. show engine innodb status
  7. ctfshow—web—web3
  8. Windows10下Canvas对象获得屏幕坐标不正确的原因排查与处理
  9. nodejs中使用worker_threads来创建新的线程
  10. 创建Django REST framework工程