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

051-Web攻防-文件安全目录安全测试源码等

051-Web攻防-文件安全&目录安全&测试源码等

知识点

1、文件安全-前后台功能点-下载&读取&删除
2、目录安全-前后台功能点-目录遍历&目录穿越

演示案例:

➢文件安全-下载&删除-案例黑白盒
➢目录安全-遍历&穿越-案例黑白盒

#文件安全-下载&删除-黑白盒

1、下载=读取(获取源码)

文件下载

利用:下载敏感文件(数据库配置,中间件配置,系统密匙等文件信息)

Untitled

常规下载URL:https://67.202.70.133/files/readfile.php

(直接访问,会被默认以php执行文件解析,不能下载到本地,也不能看到源码)

image-20250509085507646

可能存在安全URL:https://67.202.70.133/files/readfile.php?file=readfile.php

(下载协议下载php文件 ,源码被下载至本地可以被看到)

  • https://67.202.70.133/files/readfile.php?file=…/index.php
  • https://67.202.70.133/files/readfile.php?file=…/configuration.php
    • 依次下载index.php主页文件,根据源码泄露信息,确定joomle搭建的
    • 查找Joomle默认的数据库配置文件,并==进行下载configuration.php,发现泄露数据库密码用户名等隐私信息==

image-20250509085608354

image-20250509090142832

image-20250509090258208

image-20250509090352611

文件读取

1.常见铭感信息路径

  • windows系统

    C:\boot.ini //查看系统版本
    C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
    C:\Windows\repair\sam //存储系统初次安装的密码
    C:\Program Files\mysql\my.ini //Mysql配置
    C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
    C:\Windows\php.ini //php配置信息
    C:\Windows\my.ini //Mysql配置信息
    
  • linux系统

    /root/.ssh/authorized_keys //如需登录到远程主机,需要到.ssh目录下,新建authorized_keys文件,并将id_rsa.pub内容复制进去
    /root/.ssh/id_rsa //ssh私钥,ssh公钥是id_rsa.pub
    /root/.ssh/id_ras.keystore //记录每个访问计算机用户的公钥
    /root/.ssh/known_hosts
    //ssh会把每个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。
    /etc/passwd // 账户信息
    /etc/shadow // 账户密码文件
    /etc/my.cnf //mysql 配置文件
    /etc/httpd/conf/httpd.conf // Apache配置文件
    /root/.bash_history //用户历史命令记录文件
    /root/.mysql_history //mysql历史命令记录文件
    /proc/self/fd/fd[0-9]*(文件标识符)
    /proc/mounts //记录系统挂载设备
    /porc/config.gz //内核配置文件
    /var/lib/mlocate/mlocate.db //全文件路径
    /porc/self/cmdline //当前进程的cmdline参数
    
文件读取漏洞环境复现

靶场环境

  • https://portswigger.net/web-security/all-labs靶场网址 点进去找到Lab: File path traversal, simple case进入
  • 需要注册账号 使用谷歌账号

漏洞复现

  • 访问实验室开启靶场
  • 选中图片复制图片地址 新建网页打开https://0ade00380390f63f81b3892400de00f4.web-security-academy.net/image?filename=7.jpg
  • 替换文件名 发现参数可控
  • 打开burpsuite 对访问图片地址进行抓包 发送至repeter处 修改其头文件 GET /image?filename=../../../etc/passwd HTTP/2
  • 返回包显示 账户信息
  • image-20250509101443710

2、文件删除(常出现后台中-危险操作)

可能存在安全问题:前台或后台有删除功能应用
利用:常规删除重装锁定配合程序重装或高危操作

漏洞环境

使用海洋cms

安装教程参考 [海洋CMS新手入门安装配置教程][https://zhuanlan.zhihu.com/p/112764229]

注意安装的时候后台的管理地址一定要记住 每个人的后台网址都不一样

漏洞复现

  • 在seacms/install/下面有一个install_lock.txt(如果报错检查install目录下面是否存在index.php文件) 如果访问一个目录而该目录下没有首页文件(如 index.php),如果服务器禁止了目录浏览(默认是禁止的)服务器就不知道展示什么,默认会拒绝访问并返回 403。

  • 访问seacms的后台页面 点击模板 新建链接 (http://seacms:84/cexjwc/)抓包 发送至 repeter

  • image-20250509121229330

  • image-20250509113813149

  • image-20250509113919780

  • 想要删除install_lock.txt文件 要通过加减../试探文件所在的位置

  • 最后试探为:GET /gws3vo/admin_template.php?action=del&filedir=../templets../../install/install_lock.txt HTTP/1.1

  • 该操作极度危险 请勿在实验演示

  • image-20250509122901383

  • image-20250509122932159

#目录安全-遍历&穿越-黑白盒

1、目录遍历

什么是目录便利:

目录权限控制不当,通过遍历获取到有价值的信息文件去利用

目录遍历出现原因

  • 如果访问一个目录而该目录下没有首页文件(如 index.php),并且服务器禁止了目录浏览(默认是禁止的)这个时候服务器就不知道展示什么,默认会拒绝访问并返回 403。
  • 但是如果开启了索引如果访问的目录中没有默认的索引文件(如index.html、index.php等),服务器会列出目录中的文件和子目录,以供浏览器访问 这样的配置可能会 暴露目录结构和文件列表,从而使攻击者更容易发现潜在的目标和漏洞。

目录遍历的危害

  • 通过遍历获取到有价值的信息文件,然后利用它们可能是攻击者的一种常见策略。攻击者可能会查找敏感信息文件,如配置文件、日志文件、数据库备份等并尝试利用这些文件获取进一步的访问权限或执行其他攻击。

如何找目录遍历

  • 通过:FOFA:"index of /" && title=="Index of /" && country="CN”语句查询,可以查出很多存在目录遍历的漏洞网址

2、目录穿越(常出现后台中)

目录权限控制不当,通过控制查看目录路径穿越到其他目录或判断获取价值文件再利用

  • 程序对用户输入的路径参数没有严格过滤,导致攻击者可以通过 ../ 这种相对路径“往上跳”目录

  • 源码进行了限制 ,只能到default及以下包含目录

  • image-20250509144940246

  • 点击 default 访问 新建连接访问 并尝试通过增加减少(…/)进行目录穿越。可以访问到未经过容许的目录

  • image-20250509145107280

    image-20250509145330061

#黑盒分析:

1、功能点
文件上传,文件下载,文件删除,文件管理器等地方

2、URL特征
文件名:
download,down,readfile,read,del,dir,path,src,Lang等
参数名:
file、path、data、filepath、readfile、data、url、realpath等

#白盒分析:

查看源码中是否存在:上传类函数,删除类函数,下载类函数,目录操作函数,读取查看函数等

http://www.hskmm.com/?act=detail&tid=9831

相关文章:

  • Dilworth定理及其在算法题中的应用
  • 050-WEB攻防-PHP应用文件包含LFIRFI伪协议编码算法无文件利用黑白盒
  • error: xxxxx does not have a commit checked out
  • 049-WEB攻防-文件上传存储安全OSS对象分站解析安全解码还原目录执行
  • 云原生周刊:MetalBear 融资、Chaos Mesh 漏洞、Dapr 1.16 与 AI 平台新趋势
  • AI一周资讯 250913-250919
  • 045-WEB攻防-PHP应用SQL二次注入堆叠执行DNS带外功能点黑白盒条件-cnblog
  • linux 命令语句
  • 用 Kotlin 实现英文数字验证码识别
  • 达芬奇(DaVinci Reslove)字体文件 bugb标签
  • 语音芯片怎样挑选?语音芯片关键选型要点?
  • KingbaseES Schema权限及空间限额
  • HTTP库开发实战:核心库与httpplus扩展库示例解析
  • QMT交易系统向服务器同步订单丢失问题排查
  • 笔记1
  • 用 Python 和 Tesseract 实现英文数字验证码识别
  • 实用指南:OSPF特殊区域、路由汇总及其他特性
  • 禅道以及bug
  • 中电金信 :MCP在智能体应用中的挑战与对策
  • 第一次参与开源的时序数据库 IoTDB Committer:这份成就感是无可替代的
  • ECT-OS-JiuHuaShan 框架元推理的意义、价值、作用、应用场景和哲学理念的充分阐述:AGI奇点
  • CSP 2025 复赛复习总目标与计划
  • mysql区分大小写吗,你可能忽略了这些关键细节
  • route-link 和 a 的区别
  • WPF 调用 Windows 桌面右键新增文件菜单的实现方案
  • HR 需了解的绩效评估应包含的内容
  • 解题报告-P12022 [USACO25OPEN] Hoof Paper Scissors Minus One B
  • CentOS架构修改网卡命名的方法总结
  • np.clip的使用
  • 重看P4211 [LNOI2014] LCA 以及 P5305 [GXOI/GZOI2019] 旧词 题解