apache低版本解析漏洞
这个网站目录里有两个文件,一个是正常的php文件,另一个xx.php.xxx,源码是php源码,命名的文件,而访问中xxx的文件依旧可以执行出php代码的结果,而xxx就能当php文件解析,这就是apache的解析漏洞。要注意的第一个是低版本的apache,符合这个版本就有这个解析漏洞,2.x的版本应该能满足。
这个是后门后缀不理解就向前解析,
利用的话就是碰到低版本的apache,然后上传有个不被能被识别的后缀,触发它向前解读,成功解析到我们需要的文件,其中的后门代码触发。
apache配置安全漏洞
这个漏洞利用起来有一些鸡肋
他需要在apache的配置文件里面有这个代码,才能执行出来,他是属于配置上面的安全思路所造成的漏洞,
Vulhub Apache HTTPD 换行解析漏洞(CVE-2017-15715)靶场
另一个靶场
Nginx越界读取缓存漏洞(CVE-2017-7529)
这个就很简单的漏洞,主要是nginx的版本对应的上就可以用,靶场里面上传图片文件后会返回一个网址,不过这个网址是图片格式的访问,在访问的时候后面加上/xxxphp。直接访问就可以运行为php文件了。就可以执行php的代码了。
符合nginx和iis75,符合这个版本的中间件都可以用。
判断网站有没有漏洞非常简单,
在后满加上/.php
报错就是没有,不报错就是有。只需要找一个上传点就可以获取到权限。
Nginx 文件名逻辑漏洞演示
搭建好靶场环境,打开靶场,根据网页提示上传文件,
抓住数据包,然后在正常的图片格式文件后面加上一个空格发送出去,在去访问
然后这时候去访问复制地址的时候,后面加上.php,抓数据包
这里为什么要加两个空格,因为根据靶场网页提示要在这里后面加上给空格和换行符,换行符需要在hex里面修改参数为00,变成换行符上传,而如果只写了一个空格,就只有一个空格在hex不能添加符号,所以要添加几个符号就加几个空格然后在hex里面找到满足旁边20(20就是空格),把20修改为想变成的符号即可,然后点发送。因为这里要添加两个符号所以打了两个空格。
然后点上传,访问网页
上传执行成功了php代码。
集中常见的web编译器的漏洞
这个编译器我们只讲一两个,就是我们碰到了再去查资料就好,
老师搭建了一个fck的编译器。
正常的存在编译器的网站
这个看到编译器是ued之后也是直接去百度上搜索漏洞,照着用就行。
老师自己搭建好的网站
网站直接写着fck编译器2.6.3版本呢,直接去网搜,该版本的漏洞,
找到了漏洞演示,直接复制代码,保存一个php文件,把漏洞代码复制过去,然后放到php的安装目录里面来,在安装目录里面写一个cmb的命令提示符,直接打开命令提示符,利用php对这个文件进行一个执行,
就是在php php文件名 后面加上网站霉和网站路径,开始执行就行了有些脚本需要加上http有一些不需要,需不需要就两个试试判定一下就行。
输入红框里面的代码,直接回车键执行。
查看网站根目录有没有上传成功,上传成功了一个php的文件,里面是一句话后门代码。
怎么去判定对方使用上面编译器,进入网站的会员中心或者后台中心里,可以看到使用编译器和版本的情况,可以通过网站扫描,发现编译器的路径也能判断,白引擎黑引擎都能扫,可以去搜白引擎手册,都测测就会了。常见的有Ewebeditor,fckeditor,ckeditor,kindeditor等等,、
知道对方编译器也可以作为测试点,大部分都跟文件上传有关,因为编译器本身就是用来处理文件文字等东西的。编译器太多了一个一个演示不过来,自己去网上找资料。
几种常见的cms文件上传漏洞演示
也是老师自己的网站,cms开源的。演示一下通达服务系统,
通达的一个登陆界面
讲这个的意义,如果识别出对方使用的源码程序名称之后,可以通过网上一些公开漏洞测试,这时候就可以通过右键查看源代码,发现
通达oa网络只能服务办公系统。
抓住数据包,然后替换成漏洞网站的东西
直接上传提交,返回结果立马上传了一个文件上去,后面利用上传的文件做其他的漏洞结合执行相关命令,这就是利用了通达oa的漏洞。
上传漏洞分为三种,一个是解析漏洞,某些能进行理论上面违背的,有解析漏洞,解析漏洞有条件是否有相应的中间件且版本是符合的,你还要进行解析漏洞相关规则,有些基于命名,后缀,把条件达到才能触发图片解析成php。
也可以通过网站,判断出是上面从cms开源,他有没有网上有没有公开的漏洞,去实现。
其他漏洞包括编号漏洞,cve漏洞,cve漏洞不仅仅是网站还有可能是中间件,编译器漏洞就是网站上面调用了第三方编译器,编译器出现上传漏洞,我们就可以利用。
我拿到一个网站第一点的思路,第一步看中间件,因为看中间件就是为了确定他是否存在解析漏洞,解析漏洞对应的版本,可以通过网上查询总结,低版本。配合解析漏洞,一些就可以直接上传解析,有一些上传不允许上传未知后缀名,在利用的时候不行,就只能靠自己去判断。
文件上传点该怎么找,文件上传分为哪几种,第一种就是扫描,scan字典扫描, 上传一个php文件不允许上传,他可能是黑名单,可能是白名单,检测代码,一个一个去筛选,如果黑名单就按照黑名单去上传,如果都绕过不了就是没有上传漏洞,白名单也是同样,到下面来看,就是验证绕过,没办法没有漏洞,这个时候再去搞解析漏洞,解析漏洞也没有,再看是不是网站cms,去网上找资料,如果这里也不行,就去找网站上有没有编译在会员中心,后台中心,白黑引擎去扫,找到编译器,编译器也是通过去网上找资料绕过,绕过编译器也没有,就去看cve有没有爆出来一些文件上传漏洞相关的,出一个刚好对应的nginx的漏洞,符合就可以利用漏洞去测试,如果实在都没有就是没有漏洞,
第一步找上传点,会员中心,扫描也好,第二步就直接验证绕过测试,测试不行在到漏洞修复,没有再去编译器,还是没有下一步看cve报出的有没有文件上传和网站有没有相应符合的条件,