rce代码及命令执行漏洞与 文件包含

rce代码及命令执行漏洞:
1.eval:代码执行
  system:命令执行
  eval(echo ‘$_REQUEST['X']); ->Linux平台
2.poc:验证
  exp:利用
3.参考网址:https://cnblogs.com/lyxsalyd/p/12607769.html

文件操作之文件包含:
1.文件包含之各个脚本代码
      asp,php,jsp,aspx等。
将指定文件内容以脚本代码执行。

2.判断文件包含漏洞:URL后是否接上一个文件或功能点。

3.类型:本地包含->无限制
                         ->有限制(绕过)
            远程包含->无限制
                         ->有限制(绕过)
4.防护
(1). 包含文件的参数过滤

① 文件名过滤:白名单或者黑名单过滤;
②不使用动态变量进行包含操作,设置字典等静态处理。
③文件名后缀固定

(2)、路径限制
①目录限制,在用户提交的变量前增加固定的路径,限制用户可调用的目录范围;
②目录回退符过滤,避免回退符生效导致路径变化;

(3)、中间件的安全配置
①PHP版本小于5.4在php.ini中设置magic_quotes_gpc=on(5.4 以后被放弃用)
magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的’"\加上反斜线。

②限制访问区域:php.ini 中设置 open_basedir 来限制用户访问文件的活动范围等;apache 也有相关配置
③设置访问权限:限制当前中间件所在用户的访问权限,例如;web 服务器独立用户,并且只拥有访问目录和使用中间件的权限,从而有效避免越权访问其他文件;

(4).搭建RASP阻止代码注执行

5.绕过
本地包含有限制的情况:需要绕过。(比如:强制在后面加上.html)
(1).%00截断:条件,magic_quotes_gpc=off        php版本<5.3.4
(2).长度截断:条件Windows点号需要长于256
                     Linux长于4096
allow_url_include=on     php若开上这个开关可以远程包含。

远程包含限制:
(1).加%20
(2).加%23
(3).加?

6.各种协议流玩法:伪协议
参考:https://www.cnblogs.com/endust/p/11804767.html

针对php:
(1).?filename=php://filter/conavert.base64_encode/resource=1.txt
(2).?filename=php://input(post 发出去)
       <?php system('ver')?>
   或 @eval ($_POST [cmd]?'>');?>
(3).?filename=file:///D:/phpstudy/PHPTutourial/www/1.txt     ->file需要完整路径才能执行
(4). ?filename=data://text/plain,<?php%20phpinfo();?>

本地包含:写入日志,再包含日志。

修复:固定后缀,固定文件,waf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ee .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值