第负2天-文件后缀-限制访问-中间件漏洞

AffettoIris 2023-9-19 2,760 9/19

  • Active Server Pages是asp,.aspx则是ASP.NET 页面的扩展名

  • centos7如何查找当前目录及其子文件夹下,是否存在名为1.jpg的文件

    find /path/to/directory -name "1.jpg"

    centos7如何查找当前目录及其子文件夹下,是否存在名字带有1.jpg的文件,例如abc1.jpg

    find /path/to/directory -name "*1.jpg*"

  • php经常用$ext = pathinfo($_FILES['file_upload']['name'], PATHINFO_EXTENSION);提取文件后缀,设参数一为“ip/1.jpg.php.html”,则$ext = 'html';

  • 今天做题,index.php用到了move_uploaded_file($_FILES['file_upload']['tmp_name'], $new_name)保存上传的文件,但是很奇怪,我500kb的正常图片无法成功上传,1kb的一句话木马1.jpg能上传,原来可能因为是文件大小超过了服务器限制:在PHP配置中,有一个upload_max_filesize选项用于限制上传的文件大小。如果上传的文件超过了这个限制,move_uploaded_file()函数将会报错。可以通过修改PHP配置文件或使用ini_set()函数来调整文件大小限制。

  • cms

    Content Management System(内容管理系统)

你可以理解为,你想搭一个博客,你用web框架从头写你的网站逻辑,然后你突然写累了,你只是想弄个网站展示点自己的东西,为啥要从头写起。你发现了CMS这个好东西,人家都帮你写好了,你只要按照他的部署文档部署一下,然后找找你喜欢的模版,最后上面传点内容就好了。你用了一段时间,你希望你的网站拥有某个功能,然后你发现你那个CMS系统不支持,你要么改他的代码,要么自己用web框架写一个……

可以说我的file browser就是个cms。

  • 从app里面提取web协议以用对付web的app,一般方法不是反编译就是抓包,建议两法都试试。

    第负2天-文件后缀-限制访问-中间件漏洞

    抓包时常用到burp的proxy的http history

    第负2天-文件后缀-限制访问-中间件漏洞

    点击filter还能自行决定过滤条件如显示css文件,不显示非php文件。

    第负2天-文件后缀-限制访问-中间件漏洞

    反编译如反编译app软件‘漏了个大洞’

    第负2天-文件后缀-限制访问-中间件漏洞

    当得到一个app的某个接口连接时,如果直接在浏览器打开连接,大概率访问被拒绝。这是因为缺少参数,例如下图是在burp抓到的该接口数据包,要想正确访问,得把原数据包所有键值对、参数都添加上。浏览器有这种插件,它可以在浏览器直接添加参数的

    第负2天-文件后缀-限制访问-中间件漏洞

  • 入侵一个网站,知道其脚本类型是起码的。小迪老师说,搭建平台(中间件)和数据库和脚本类型往往有常用组合,

    1. 从数据库猜脚本类型。例如如果发现是Mysql数据库,多半是php脚本的程序,;如果发现是SQlServer数据库,多半是asp / aspx脚本的程序。

    2. 从搭建平台猜脚本类型。IIS多搭配ASP / ASPX;apache则搭配php居多。tomcat是jsp居多。

    3. 用扫描工具扫。如果有时候扫不出来,可能是网站做了伪静态,即脚本类型不能在网址上体现出来,例如网页里面有.do和.action的后缀。.do是struts 1默认的后缀 , .action是struts 2默认的后缀。.do和.action不是文件, 通过判断.action / .do,服务器知道你是请求java语言编写的一个java类。从而执行这个java类完成一些事情来给你展示不同的页面。这个类的执行你看不到,你只看到了它返回给你的一个页面。Struts 是 Apache 软件基金会资助的一个为开发基于MVC模式应用架构、基于Java Servlet和JSP、XML等技术的开源框架。再例如http://space.eyescode.top/shuoshuo,这个网址直接无文件后缀。

    4. 用谷歌搜索引擎。针对这个网站在谷歌搜索引擎找有没有快照信息,然后用谷歌关键字去筛选。

    5. 抓网站数据包,网站数据库有时能体现脚本类型,如cookie里的phpsession、jspsession,如果COOKIE没有phpsession、jspsession,一般是asp / apsx / 或其他。

      第负2天-文件后缀-限制访问-中间件漏洞

  • URL与URI区别

    URI :Uniform Resource Identifier,统一资源标识符;它是一个字符串用来标示抽象或物理资源。Web上可用的每种资源( HTML文档、图像、音频、视频片段、程序等)都由一个通用资源标识符进行定位。

    URL:Uniform Resource Locator,统一资源定位符;

    URI 属于 URL 更高层次的抽象,一种字符串文本标准。

    就是说,URI 属于父类,而 URL 属于 URI 的子类。URL 是 URI 的一个子集

    例如: http://www.baidu.com是URL. http://www.baidu.com/index.html 是URL 同时也是URI。

  • ascii码表里面的字符的十六进制并前缀%,就是其对应的URL编码

    例如,ASCII 码表中字符 A 的十六进制值是 41,将其加上 % 前缀,得到 URL 编码 %41。同样地,字符 a 的十六进制值是 61,将其加上 % 前缀,得到 URL 编码 %61

  • 什么是URL编码?

    URL 编码使用百分号(%)后跟两位十六进制数来表示特殊字符的编码。例如,将字符串 "hello world" 进行 URL 编码,会得到 "hello%20world"。URL 编码的目的是确保 URL 中的特殊字符不会被误解为具有特殊意义的字符,而是按照字面意义进行传输和处理。

    以下是一些常见特殊字符的 URL 编码示例:

    • 空格:%20 加号(+):%2B 斜杠(/):%2F

    • 问(?):%3F 井号(#):%23 等号(=):%3D

    • 百分号(%):%25 双引号("):%22 单引号('):%27

    IP可能比域名绑定的目录范围大

  • 有的网站服务器,可能IP解析的目录比其域名解析的目录更上一级(我自己的服务器我专门设置过,两者解析一致,小迪老师他们是刻意让IP绑定到根目录,也可能是因为IP默认绑定根目录,管理员没变更过),例如老师的xiaodi8.com和其对应的1.2.3.4,

    第负2天-文件后缀-限制访问-中间件漏洞

    phpstudy统一将网站目录们放在WWW文件夹下,其中xiaodi8.com解析到WWW.blog目录,而1.2.3.4解析到WWW目录。这个小经验的意义在于,1. 程序员有对网站目录右键备份成.zip 、 .rar等的习惯,例如www.zip,通过爆破IP,更有可能获取到备份文件。(我们本地对directory压缩出directory.zip,但是有的工具如宝塔面板压缩成的是temp_rijDZr.zip,太细节了,这个_rijDZr后缀就是防源码泄露的);2. 爆破IP比爆破域名的爆破范围可能更广。所以扫描目录时,相比域名,建议用IP

    第负2天-文件后缀-限制访问-中间件漏洞

文件后缀和处理应用程序的绑定

  • 如图是windows上网站对于文件后缀和处理应用程序的绑定(我在自己电脑的IIS管理器上实在找不到这个界面),例如访问.asp会有asp.dll去处理,管理员可以修改这种绑定关系,所以我们访问/点击网站某文件,有的正常解析/不解析/直接报错/直接下载(如.zip文件,既可以是下载,也可以是解压)/...

    第负2天-文件后缀-限制访问-中间件漏洞

    注意图上细节,我们发现对于有的网站,可以将.asp病毒文件后缀写成.cdx / .cer,因为他们三是同一个处理程序。

    若你能操作这个配置,你甚至可以添加配置.tzz后缀的处理程序为asp的处理程序,然后.asp木马后缀更为.tzz,如此植入木马更隐蔽,起码对文件上传有帮助。

基于账号和基于IP的限制访问来源

  • 学校的官网可以禁止外网访问网站(限制IP来源),就是使用了以下方法:

    第负2天-文件后缀-限制访问-中间件漏洞

    1. 身份验证和访问控制(基于服务器用户账号的限制)

      点击后得到下图

      第负2天-文件后缀-限制访问-中间件漏洞

      若不启用那个勾,此时访问网站会显示

      第负2天-文件后缀-限制访问-中间件漏洞

      对!连个空白网页都没有,上来就要输卡密,这种其实就是让你输入该计算机的一个用户账号密码才允许你访问网站。

    2. IP地址和域名限制

      因为域名可以解析成IP,所以限制域名相当于限制IP。点开后得到

      第负2天-文件后缀-限制访问-中间件漏洞

      管理员可以选择默认access / deny all IP。并添加access 的黑/deny 的白名单,以图中为例,若非192.168.0.102访问将显示

      第负2天-文件后缀-限制访问-中间件漏洞

    3. 第三个不讲

  • 我们找到网站目录,查看其用户

    第负2天-文件后缀-限制访问-中间件漏洞

    对的,正是上面提到的对匿名访问者启用的用户名,同时也是菜刀的访问身份,所以有时候菜刀连接上了,可是看不到想看的,甚至啥也没有

    第负2天-文件后缀-限制访问-中间件漏洞

    很可能是管理员对IIS_IUSRS的权限做了限制,这是种防护技巧,也是安全渗透中常见的拦路虎。不过一般不至于权限全给拒绝了,一般只禁止写入,所以试图植入木马或者修改文件遇上‘操作失败’,要联想到这种可能原因。

    第负2天-文件后缀-限制访问-中间件漏洞

    想学绕过,先懂原因!

  • 也可能禁止执行权限,禁止这个文件夹下的脚本执行(即是安全措施也是渗透拦路虎)

    第负2天-文件后缀-限制访问-中间件漏洞     第负2天-文件后缀-限制访问-中间件漏洞 

    之前我们访问后门文件ink0.cn:a.php,浏览器显示空白网页,现在显示:

    第负2天-文件后缀-限制访问-中间件漏洞

    同理,后门工具菜刀也连接报错

    第负2天-文件后缀-限制访问-中间件漏洞

    一般来说,只会对images等不会存放脚本的目录禁止执行脚本权限,起到防文件上传漏洞的作用,毕竟index.php等网页自身也是脚本。基于此,我们的绕过思路是试试能不能把后门放在存在执行权限的其他目录。

识别中间件

第负2天-文件后缀-限制访问-中间件漏洞

一般直接在响应报文里就可看到。

基于中间件漏洞的攻击

网上有一份《Web中间件常见漏洞总结.pdf》,不过这种东西肯定是最新的最全,毕竟每年都会有新漏洞才发现,而旧漏洞已修复。

第负2天-文件后缀-限制访问-中间件漏洞

我去试了,我服务器都安装nginx1.20了,它的攻略教程适用于nginx1.5以下的,挺老的,正如书上所言,所发现的漏洞已送往厂家修复,最新版本的中间件肯定已经修复了。而且,有个搭建漏洞靶场网站vulhub.org,它也提供更全更多的漏洞,例如

第负2天-文件后缀-限制访问-中间件漏洞

好像两者内容上有重合,且网站包更新又全。这个网站很香,全、包更新、讲解漏洞、实战、教复现漏洞!

- THE END -

AffettoIris

10月16日15:17

最后修改:2023年10月16日
0

共有 0 条评论