本文发布于609天前,本文最后更新于608 天前,其中的信息可能已经过时,如有错误请留言或评论。
知识点
- 文件安全-前后台功能点-下载&读取&删除
- 目录安全-前后台功能点-目录遍历&目录穿越
演示案例
➢文件安全-下载&删除-案例黑白盒
了解
- 下载=读取
- 常规下载URL:http://www.xiaodi8.com/upload/123.pdf
- 可能存在安全隐患URL:http://www.xiaodi8.com/xx.xx?file=123.pdf
- 示例:
- http://down.znds.com/getdownurl/update/2023-11-07/1.php
会解析php 不会下载 php代码看不到 - http://down.znds.com/getdownurl/?s=update/2023-11-07/1.php
下载协议下载php 可以看到源码
- http://down.znds.com/getdownurl/update/2023-11-07/1.php
- 安全问题:下载的文件以参数值去发送解析下载 更改的参数值就是指定下载文件
利用:常规下载敏感文件(数据库配置,中间件配置,系统密匙等文件信息)
- 文件删除(常出现后台中)
可能存在安全问题:前台或后台有删除功能应用
利用:常规删除重装锁定配合程序重装或高危操作
文件下载演示
- 一个国外的网站:http://67.202.70.133/,文件下载地址是/files/readfile.php?file=
- 首先访问/files/readfile.php?file=readfile.php看看是否可以进行下载,发现下载成功
- 然后下载index.php,因为index.php在根目录下,所以需要访问/files/readfile.php?file=../index.php
- 然后可以依次下载,查看包含的文件进行下载,或者获取到信息直接下载配置文件
- 例如该站使用Joomla搭建,可以直接搜其数据库配置文件路径在根目录下的configuration.php。
然后进行下载,后期利用后面讲,演示到这就结束了
文件读取演示
- burpsuite官方的靶场:https://portswigger.net/web-security/all-labs
- 小迪演示的是burp靶场里面的目录遍历的下面这个靶场:
https://portswigger.net/web-security/file-path-traversal/lab-simple - 打开靶场进入后如下,此时随意选择一个图片打开图片地址
- 发现路径类似如下:
https://0a5200d3041326c884d7052800500084.web-security-academy.net/image?filename=66.jpg
- 可以看到filename参数值是66.jpg,修改后发现图片也随之变化,所以猜测可以读取文件。
- burpsuite抓个包,因为靶场是要求尝试读取/etc/passwd文件,所以服务器应该是Linux,而Linux的服务器网站目录一般在/var/www/html下,所以可以拼接路径,构造出指定路径读取
?filename=../../../etc/passwd # 向上跳跃3到4层目录(根据实际情况测试)到达根目录后读取/etc/passwd
- 发包后发现返回包中包含了/etc/passwd数据
文件删除演示
- 靶场是在本地搭建的海洋cms,然后进后台演示删除文件
- 海洋cms官网:https://www.seacms.net/,可以自己下载
- 也可以在文末找我的百度网盘链接下,是和小迪演示的一个版本的。
- 安装包里面有安装方式就不说了,自己安装就行。
- 安装后登录后台界面
- 查看删除链接,发现可能存在安全隐患,进行测试
http://127.0.0.1:100/seacms/admin_template.php?action=del&filedir=../templets/default/html/self_new.html
- 在网站根目录下创建个test.txt,然后构造filedir,尝试进行删除该文件
http://127.0.0.1:100/seacms/admin_template.php?action=del&filedir=../test.txt
发现报错提示只能编辑templets目录,那么我们尝试留下/templets - 访问如下链接
http://127.0.0.1:100/seacms/admin_template.php?action=del&filedir=../templets/../test.txt
发现页面提示操作成功,查看网站根目录下的test.txt,发现被删除。
➢目录安全-遍历&穿越-案例黑白盒
了解
- 目录遍历
- 目录权限控制不当,通过遍历获取到有价值的信息文件去利用
- 这个演示就是本地在phpstudy_pro上演示了一下
- 当网站开启可以目录索引,并且目录下没有索引文件(即index.php,index.html等)时,即可显示目录下所有文件
- 目录穿越(常出现后台中)
- 目录权限控制不当,通过控制查看目录路径穿越到其他目录或判断获取价值文件再利用
目录穿越演示
- 本地的海洋cms的后台页面
- 发现点击目录images时跳转的链接如下,path参数传递了images目录
http://127.0.0.1:100/seacms/admin_template.php?path=../templets/default/images
- 尝试修改path参数值,访问上级目录以及根目录
- 发现报错,只允许编辑templets目录,那么就和之前一样保留它
# 访问到了页面根目录 http://127.0.0.1:100/seacms/admin_template.php?path=../templets/../ # 我这里是phpstudy_pro搭建的,下面的链接直接访问到了www目录下 http://127.0.0.1:100/seacms/admin_template.php?path=../templets/../../ # 后续测试自行进行即可
总结
黑盒分析
- 功能点
文件上传,文件下载,文件删除,文件管理器等地方 - URL特征
- 文件名:
download,down,readfile,read,del,dir,path,src,Lang等 - 参数名:
file、path、data、filepath、readfile、data、url、realpath等
- 文件名:
白盒分析
上传类函数,删除类函数,下载类函数,目录操作函数,读取查看函数等.
参考
学习内容均来自小迪安全系列课程:http://xiaodi8.com/
小迪演示的海洋cms下载:https://pan.baidu.com/s/1piSVlPMijH9vK2jJLYf34Q?pwd=jy9p