文件下载&文件读取&文件删除

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

1、下载=读取(获取源码)
文件下载
利用:下载敏感文件(数据库配置,中间件配置,系统密匙等文件信息)

常规下载URL:https://67.202.70.133/files/readfile.php(直接访问,会被默认以php执行文件解析,不能下载到本地,也不能看到源码)

可能存在安全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,发现泄露数据库密码用户名等隐私信息

文件读取

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/Unix系统:
/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参数

2)文件读取的靶场注册登录及应用:

https://portswigger.net/web-security/all-labs,最好使用gmail邮箱进行注册,其他可能收不到验证邮箱,验证邮箱后,会让你设置用户名,但密码是由portswigger自动生成,复制登录即可(记得关闭代理,不然会登录失败)

实验室:文件路径遍历,简单案例 |网络安全学院 (portswigger.net)

访问实验室即可开启靶场
任意以url的方式打开页面上的图片https://0ae3006a032d097482c3eea700df003b.web-security-academy.net/image?filename=20.jpg发现可以进行替换文件名
开启burp抓包,并将抓取的数据包发送至Repeater处,修改其文件头GET /image?filename=../../../etc/passwd HTTP/2
则返回数据包中会显示,linux服务器中的账户信息

2、文件删除(常出现后台中—鸡肋危险)

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

1)登录后台,找到可以删除的页面操作,点击删除,并进行抓包,发现数据包中,的删除操作可以进行执行文件名替换(替换为其他文件进行删除),可以将其替换为源码中的install_lock.txt文件,是一个标识文件,通常用于记录或标记应用程序或系统的安装状态。这类文件通常在安装或初始化过程中创建,并用于防止重复安装或初始化。

2)因为删除文件有过滤,在切换为想要删除install_lock.txt文件,要通过加减../试探该文件的存在位置,最后试探的结果为:GET /gws3vo/admin_template.php?action=del&filedir=../templets../../install/install_lock.txt HTTP/1.1

3)查看对应目标目录下的install_lock.txt文件,已经被删除,再次访问install目录发现需要重装

4)该操作十分危险容易造成网站崩溃,例如:如果删除了页面首页index.php源代码,造成访问失效,访问首页页面则没有图形化等操作

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注