推广网站文案素材,外贸网,中山外贸网站建设报价,重庆网站建设只选承越文章目录#xff1a;
一#xff1a;任意文件读取漏洞
1.定义
2.危害
3.产生原因
4.发现漏洞
5.利用漏洞
6.防范措施
7.读取漏洞举例
二#xff1a;任意文件下载漏洞
1.定义
2.漏洞利用
3.漏洞挖掘
4.漏洞验证
5.漏洞防御修复 pikachu靶场#xff1a;是一个…文章目录
一任意文件读取漏洞
1.定义
2.危害
3.产生原因
4.发现漏洞
5.利用漏洞
6.防范措施
7.读取漏洞举例
二任意文件下载漏洞
1.定义
2.漏洞利用
3.漏洞挖掘
4.漏洞验证
5.漏洞防御修复 pikachu靶场是一个网络安全训练平台旨在模拟真实世界中的网络攻击和防御场景帮助用户提高网络安全技能和知识 一任意文件读取漏洞
1.定义 任意文件读取漏洞属于文件操作漏洞的一种攻击者通过提交特定的输入可以绕过安全限制读取服务器上的敏感文件或配置文件这种漏洞通常发生在文件读取函数如readfile(), file_get_contents(), fopen()等的使用过程中
当这些函数的输入路径未经过严格校验或校验不严时攻击者就可以控制这个变量来读取任意文件 2.危害 任意文件读取漏洞的危害极大它不仅可以泄露网站的结构目录还可能导致敏感信息如用户密码、数据库配置文件、系统配置文件等的泄露这些敏感信息一旦被攻击者获取就可能被用于进一步的攻击如密码破解、数据篡改、系统控制等 3.产生原因 1.文件读取函数的输入路径用户可控2.输入路径未经过严格校验或校验不严3.服务器未对文件访问权限进行严格控制 4.发现漏洞 一般可以通过构造特殊的URL请求来尝试触发文件读取漏洞例如在URL中添加特殊的路径参数如../或~/并观察服务器是否返回了非预期的文件内容 5.利用漏洞 1.读取系统配置文件如/etc/passwd, /etc/shadow等获取系统用户信息2.读取数据库配置文件如数据库连接字符串尝试直接连接数据库3.读取网站源代码或配置文件寻找其他安全漏洞4.读取日志文件获取网站访问记录或用户操作记录 6.防范措施 1.对所有输入进行严格的校验和过滤确保输入路径符合预期2.使用白名单机制来限制可访问的文件类型和路径3.对敏感文件和目录设置严格的访问权限对所有文件路径输入进行严格的验证和清理4.使用参数化查询或安全的文件操作函数来避免直接拼接用户输入5.定期对网站进行安全审计和漏洞扫描及时发现并修复安全漏洞6.始终将上传的文件存储在Web根目录之外的安全目录中禁用或严格限制文件上传功能如果它们不是必需的7.确保服务器配置正确以防止符号链接和其他潜在的文件系统攻击8.记录和监控所有文件上传和下载尝试以便在发生安全事件时进行检测和响应记录和监控所有文件访问尝试以便在发生安全事件时进行检测和响应9.考虑使用Web应用防火墙WAF来增强安全性10.始终使用最新版本的PHP和服务器软件并应用所有安全补丁 7.读取漏洞举例 假设有一个Web应用程序它提供了一个文件下载功能允许用户通过URL参数指定要下载的文件名 ?php
$filename $_GET[file]; // 从URL参数中获取文件名 // 假设有某种简单的安全检查但不够严格
if (strpos($filename, ..) false) { // 如果文件名中不包含..则认为是安全的 if (file_exists(/path/to/files/ . $filename)) { // 文件存在则读取并发送给用户 readfile(/path/to/files/ . $filename); } else { echo 文件不存在; }
} else { echo 非法请求;
}
? 代码审计、漏洞分析 在这个例子中虽然有一个简单的安全检查来防止路径遍历即检查文件名中是否包含..http://example.com/download.php?file../../../etc/passwd但这种检查是不充分的攻击者可以利用编码、URL编码/百分比编码、符号链接或其他技巧来绕过这种检查URL编码/百分比编码http://example.com/download.php?file%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswdUnicode编码假设服务器错误地将Unicode字符U202E右至左标记与文件名处理结合导致路径解析被逆转http://example.com/download.php?filea.txt%E2%80%AE..%E2%80%AE..%E2%80%AEetc%E2%80%AEpasswd路径截断http://example.com/download.php?filea.txt%00../etc/passwd 二任意文件下载漏洞
1.定义 任意文件下载 实现过程是根据参数filename的值获得该文件在网站上的绝对路径读取文件内容发生给客户端进行下载任意文件下载漏洞网站由于业务需求往往需要提供文件查看或文件下载功能但若对用户查看或下载的文件类型、目录不做限制则恶意用户就能够查看或下载服务器上任意敏感文件这就是文件查看与下载漏洞本来是指定目录下的下载展示文件但是我们可以下载目录下页面没有展示的文件 ?filenamedownloadfile.png目录穿越漏洞下载任意目录下的文件 ?filename../../downloadfile.txt 2.漏洞利用 漏洞利用获取源码黑盒——百盒获得站点与中间件配置文件 获得应用与系统配置文件(ssh、mysql)针对web应用php获取inc/config.php获得数据库连接字符串中的口令信息。asp获取inc/conn.asp文件获得数据库连接字符串得到数据库口令。若是ACCESs数据库可以得到数据库路径在下载数据库内容aspX获取网站根目录web.config文件获得数据库连接字符串中的口令信息获取bin/*.dll文件获取网站源码(不完整代码)。使用.NET reflector工具打开编译后的dll文件jsp获取conf/tomcat-user.xml文件获得tomcat管理界面的口令信息上传war包GetShell获取wEB-INF/Web.xml文件获得数据库连接字符串中的口令信息针对操作系统WindowsC:\boot.ini //查看系统版本C:\WindowslSystem32\inetsrvMetaBase.xml //llS配置文件C:\Windows\repairsam //存储系统初次安装的密码C:\Program Filesimysqlmy.ini //Mysql配置C:Program Filesimysqlldatalmysqlluser.MYD //Mysql rootC:\Windowsiphp.ini //php配置信息C:lWindowsimy.ini //Mysql配置信息C:lWindowslwin.ini //Windows系统的一个基本系统配置文件LinuX/root/.ssh/authorized keys/root/.ssh/id_rsa/root/.ssh/id ras.keystore/root/.ssh/known hosts //记录每个访问计算机用户的公钥/etc/passwd/etc/shadow/etc/my.cnf //mysql配置文件/ctc/httpd/conf/httpd.conf //apachc配置文件/root/.bash_history //用户历史命令记录文件/root/.mysql_history //mysql历史命令记录文件 3.漏洞挖掘 漏洞挖掘1.Google Hacker利用inurl:readfile.php?file //搜索含有关键字的url地址 allinurlintitle:关键字 //把网页标题中某个关键字作为搜索条件 allintitle完全匹配intext:关键字 //把网页正文中某个关键字作为搜索条件 allintext完全匹配关键字 site:网址 //返回域名中所有的url地址filetype:拓展名不可单独使用 //搜索特点格式的文件.pwI 口令文件.tmp 临时文件.cfg 配置文件.ini 系统文件.hlp 帮助文件.dat 数据文件.log 日志文件.par 交互文件.pdf\.doc\.docx 文档文件.xls\.xlsx\.csv 表格文件.ppt\.pptx 幻灯片文件.zip\.rar\.7z\.iso 压缩文件 cache:网站 //搜索一个网站的缓存运行info:关键字 //搜索指定站点的一些基本信息define //搜索关键字的定义link //查找与关键字做了链接的 URL 地址related:URL //搜索与指定 URL 相关的页面stocks //搜索有关一家公司的股票市场信息insubject //搜索 Google 组的标题行msgid //搜索识别新闻组帖子的Google 组信息标识符和字符串group //搜索 Google 组搜索词汇帖子的题目author //搜索新闻组帖子的作者bphonebook //仅搜索商业电话号码簿 rphonebook //仅搜索住宅电话号码簿phonebook //搜索商业或者住宅电话号码簿daterange //搜索某个日期范围内Google做索引的网页inanchor //搜索一个 HTML 标记中的一个链接的文本表现形式运算符空格 逻辑与操作- 逻辑非操作如 A-C表示搜索有A但没C的网页OR | 逻辑或如A OR B表示搜索含有A的网页B的网页和同时含A和B的网页 精确搜索用双引号通配符* 代替任意字符串? 代替任意字符~ 代替同义词.. 数字范围 1..41234其他事项Google 对英文关键字的大小写不敏感Google对出现频率极高的英文单词做忽略处理。如.com i www http等如果要对忽略的关键字进行强制搜索则需要在该关键字前加上明文的””号Google大部分常用英文符号(如问号句号逗号等)无法成为搜索关键字加强制也不行2.从链接上看download.php?pathdownload.php?filedown.php?filedata.php?filcreadfile.php?fileread.php?filename3.从参数上看realPathfilePathfilepathfilepathpathpathinputFileInputfileurlsurl 4.漏洞验证 漏洞验证index.php?f../../../../../../etc/passwdindex.php?f../../../../windows/win.iniindex.php?f../index.php 5.漏洞防御修复 漏洞防御修复1.正则表达式严格判断用户输入参数的格式2.下载路径不可控而是程序自动生成后保存在数据库中根据ID进行下载3.过滤.对参数做严格的过滤不能进行目录遍历(穿越)4.php.ini配置open basedir限定文件访问范围