如何快速收getshell

转载:
https://mp.weixin.qq.com/s?__biz=MzI5MDU1NDk2MA==&mid=2247486770&idx=1&sn=7f819a7f31b4a660e11a95d519f92145&chksm=ec1f580ddb68d11b4c8e6286136c5afa879a23c6a6465f12918776cf3f23568924b1ce613bf3&scene=0&xtrack=1&pass_ticket=yhg968yHy%2BQ93NecPZ0h4Z722NjWsF1CZbnw9ARzKJmR3X7Qia25TuKTMBToMrJ0#rd

文件上传可以说是非常常见的而且危害极大的一个漏洞了。
我们上传shell,这功不可没。

**

文件相关漏洞包括:

**
文件上传
文件下载
文件删除
文件读取

对于文件上传漏洞:

这个很常见,比如用户头像上传,附件上传等等。某些cms还有插件上传,数据库备份文件上传等功能。这个在渗透测试过程中要仔细查找,看看有没有相关功能点。某些情况下,这些功能点会被删除,但只是图标删除,还是可以复原的。

我们上传文件时遇到的情况:
1 没有做检查,直接上传成功。
2 校验了后缀,文件类型。黑名单方式,一般狗盾都会有列表,可以把它拷贝下来,基本上一些畸形的后缀都被限制了。常见的php畸形后缀名,php3,php4,php5,phtml等。
包括:
array( “.php”,".php5",".php4",".php3",".php2",“php1”, “.html”,".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3", “.pHp2”,“pHp1”,".Html",".Htm",".pHtml",".jsp",".jspa",".jspx", “.jsw”,".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw", “.jSv”,".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx", “.ashx”,".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx", “.aShx”,".aSmx",".cEr",".sWf",".swf");

我反正记不住。。。。。。。。。。。

**

文件删除

**
我个人实际经验比较少,文件删除我目前还没遇到。
一般来讲,删除是危险的,需要一定的权限。

删除漏洞出现的地方一般在有删除功能的地方出现比较多,自己找下功能点。CSRF或许也可以用来删除文件,毕竟请求伪造。

**

文件修改

**
文件修改,嗯。。。
删除源文件,换上新的呗,直接修改,不现实。
你可以去找下网站里有没有留下网站安装文件,有就可以重装了,这方法太狠,鱼死网破,哈哈。
还有修改配置文件,什么配置文件插马,文章标题插马,反正疯狂插马。。。。

**

文件读取/下载

**

文件下载漏洞是个好东西,一般常见功能点,各种备份文件了。
听说,网站程序备份文件,数据库备份文件,文件备份index.php.bak,。git,vm文件修改时异常退出时生成的.swp备份文件等。

突破上传文件

1前端限制
对于前端限制上传的防御,可以
1 禁用js,这个有插件可用,noscript好像是。或者去除input标签的accept属性。
2 修改文件后缀,直接抓包吧,改参数。但要去猜人家的黑名单
3 修改文件后缀,例如改后缀为,index.jpg.php。说实话我不是太清楚为什么这么改
4 修改后缀,%00截断,这个应该都熟悉,index.php%00.jpg
5 修改后缀,文件末尾添加:: D A T A , w i n d o w s 会 把 此 后 缀 之 后 的 数 据 当 成 数 据 流 , 不 会 检 测 后 缀 名 . 且 保 持 : : DATA,windows会把此后缀之后的数据当成数据流,不会检测后缀名.且保持:: DATA,windows.::DATA之前的文件名。
6 修改文件后缀,在linux主机上的文件名大小写敏感,文件后缀大小混写
7 修改文件后缀 在文件末尾添加空格,黑名单的方式没法儿检测
8 修改文件类型 抓包工具,修改Content-Type:image/png(这个是需要的,有的时候不改不行)
9 修改文件后缀 修改文件名shell.php:.jpg,上传后会得到一个空的文件shell.php,然后修改文件名为shell.>>>或者shell.<、shell.<<<、shell.>><再上传,重写shell.php(这没试过,不知道啥意思)
10 换行解析 Apache2.4.0~2.4.29换行解析漏洞%0d,%0a(CR,LF(回车,换行)) 换行解析亲眼见过,我信
11 未知后缀名 Apache配置AddHandler application/x-httpd-php .php不当导致未知后缀脚本执行 (amazing)
12 后缀名正则替换 这种需要构造,使得替换之后的可以重组成为新的可执行后缀,双后缀名绕过
13 修改上传路径 name=“upload_file/1.php%00”; filename=“shell.jpg”
14 条件竞争 条件竞争删除/重命名文件时间差绕过
这里说两句,之前看过介绍,好像是发送大量文件,然后等他们竞争,抓漏网之鱼,妈耶,这操作是真的骚
15 图片马 copy code.jpg/b + shell.php/b hourse.jpg (这个自己做就好了,但听说图片,可以通过二次渲染,防御性很高)
16 图片重绘包含马 做一个就好了(这是什么东西?)
17 上传压缩包 配合PHP伪协议、文件协议等读取执行本地文件(这个操作也是可以的,很秀)
18 数据库写文件 UDF,select查询输入(这也可以,但我不会哈哈哈)

**

突破文件删除

**
漏洞点一般存在于删除头像、文章附件、CMS 管理插件、模版和数据库备份删除的地方,同时文件重写的地方,通常来说这些删除的操作是需要严格控制用户权限和资源所有对象,因为删除文件的操作,没有太多的可研究性,其主要在于寻找类似在 PHP 中的 unlink() 函数或者文件覆盖的一些函数(没有重命名),对于有权限验证,利用 CSRF 漏洞配合一起利用

**

突破文件修改

**
文件修改,是针对已存在的文件进行修改,比如有的 CMS 可以实现模版的在线编辑,利用一些规则特性可以直接写入木马。当然还有备份文件,配置文件。

常见于一些配置文件没有过滤参数,使得单双引号被闭合,写入小马到配置文件。

修改文件的时候,可能会遇到一些权限不足,没法儿写入的问题,一般会寻找images,uplaod,logs,runtime等可以执行写操作的目录(寻找方式也比较简单,查看文章图片的 URL,用户头像 URL等等)

此漏洞就不做实战演示了,基本都是配合上传文件使用,比如某些 CMS 提供插件安装,插件市场有修改模版文件的一些插件,emmm~,好心帮助站长安装一个,然后编辑一下,Webshell就到手了!

**

如何突破文件读取

**

文件的读取,包括列目录、读取任意文件内容、任意文件包含、任意文件下载。任意文件读取/包含漏洞常常在实战场景有非常大的用处,在寻找文件读取漏洞的时候,需要根据网站的类型及CMS去代码审计或者寻找 indexOf 列目录寻找可能存在任意文件包含读取的特殊文件,比如一些: file.php,download.php

通过御剑扫描,扫描到一些数据库、源码备份文件,来一次代码审计,那就赚大发了。

找到任意文件包含的漏洞,配合上传图片马,就可以轻松实现 Getshell,想想就觉得美滋滋~

在文件包含上,可能存在一些无法读取,文件名限制等等,该如何处理呐?

**

0×06 简述突破拦截

**

某些网站总是存在一些“看门狗”和“XX盾”,拦截可谓是相当的暴力。对于拦截来说,分两种:一种是基于文件后缀,另一种是基于文件内容。
1.基于文件后缀:

一般来说,在配置都是白名单的方式,我们可以 Fuzz 测试一下,可上传文件类型,再配合上述说到的方法,尝试去绕过。
2.基于文件内容:

这种方式一定程度上减少了误报,根据一些表哥的经验:程序开发人员会犯什么错误,这样的错误我们是否可以利用起来?比如 preg_replace(’/e’,’’,"$GET[‘x’]"),反序列化,远程读取文件,本地文件包含,小马混淆加密加壳,关键词拆分替换组合等等,还有很多很多的骚思路,欢迎各位表哥一起探讨。
**

0×07 总结

**

总结了文件操作方面的漏洞,以及单纯从文件操作上来获取SHELL,但真实的环境,我们常常是多种类型的漏洞组合利用,比如SQL注入写文件,命令执行漏洞权限高可不直接就拿下服务器了么,服务器存在进程溢出的程序,直接 MSF 给打过去,之后就是内网一把梭。渗透测试,是一次充分活跃思维,跳出局限的脑力活动,不断总结经验,才会不断进步,共勉!

你可能感兴趣的:(Web安全)