经过前期的信息搜集阶段,我们已经基本掌握了目标网站的敏感信息,比如:真实IP、二级域名、服务器、组件指纹等等敏感信息。这么信息对我们进行后期的渗透起到了至关重要的作用。常见的网站搭配:
- asp(aspx)+MSSQL先考虑注入,一般的注入都有DBowner权限可以直接写shell;如果写不了,或者web与数据库分离,那就猜数据,从后台下手了,后台可以上传或者改配置文件;
- asp(aspx)+ACCESS拿shell一般只有3种方法,一是前台上传或者注入进后台上传;二是注入进后台改配置文件;三是注入进后台备份数据库或者暴库后知道是asp或者asa数据库于是直接写一句话;
- php+MYSQL一般是注入进后台上传,偶尔运气好些权限够高可以注入select into outfile;然后包含,分本地与远程,远程包含在高版本php是不力挺的,于是想办法本地上传图片文件或者写到log里;然后php程序某某未公开的漏洞,运气好可以直接写shell。
- jsp+MYSQL利用数据库拿权限方面基本同php,而且jsp的上传基本很少检查文件后缀,于是只要有注入点与后台,拿shell相当的容易。jsp+ORACLE的站我碰到的不多,碰到的也是猜出用户名与密码从后台下手的。
0x01 扫描
在目标防护不是特别严的情况下,我们可以直接使用各种漏扫工具先进行一波漏洞扫描。如:Burp、Awvs、Appscan、Nessus等漏扫工具。对扫描出来的漏洞进一步进行手工验证。这样我们的工作效率可能会进一步提高,针对点也明确。
在进行目录扫描的时候,说不定可以一下扫出个上传点,直接上传shell,这是十分有可能的,有时候你花很久搞一个站,最后发现有个现成的上传点,而且很容易猜到,不过这种情况发生在asp居多!
对于目标各类web入口,普通网站后台、其他web入口,首先第一反应就是试试弱口令,第二万能密码,第三爆破,第四注入,登录口查找可以使用google语法:
对于敏感文件的泄露,可能会扫描到一些源码泄露、目录遍历、各类探针文件、备份文件等,这样我们可以直接搜索到数据库用户名密码等敏感信息,或者直接进行代码审计,漏洞任你挖;或者识别出具体的CMS,先查找网上是否具有漏洞利用方法,然后下载对应版本信息进行代码审计。
0x02 SQL注入
一般情况下拿到一个网站先找注入,后找上传,两者都没有,那就编辑器(eweb,和fck),或者旁注,存在注入好的情况下可以直接写shell,或者拿到用户命密码后台拿shell。
SQL注入直接拿shell
- php+mysql注入
联合查询注入、堆查询注入、基于时间的盲注、基于布尔的盲注、基于报错注入,一般这五种注入SQLmap基本都可以解决,在平时练习的时候可以手工进行练习,以便理解其中的原理以及基本的流程,在实战中可以使用sqlmap等提高我们的效率,前提是我们对注入的原理要有所了解,可以使用-V 3参数可以查看sqlmap注入时的payload。至于如何绕过WAF等,以后我们慢慢详细说明。 - asp(aspx)+ACCESS
表名没得到注入:社工,对比url网站地址
列名没得到注入:偏移注入、社工、后台源码中参数名
偏移注入主要是针对知道表,但是不知道字段的。 - asp(aspx)+MSSQL
MSSQL数据库的用户权限,一般有两种,一种是SA权限,这种权限很大,还有一种是DB_OWNER权限,这个权限赋给用户一些对数据库的修改、删除、新增数据库表,执行部分存储过程的权限。但是涉及到一些系统敏感操作权限不具备。
实际中我们遇到的最多的还是db_owner权限,我们常用的方法就是读网站目录,然后备份获取shell
0x03 文件上传
如果运气好的话,我们可以扫到一直上传页面,这样我们就可以直接上传我们的一句话,例如:FCK编辑器的上传页面等,一些根本不需要进入后台就可以访问的上传页面。
文件上传的常用方法00截断、Apache、Ngnix、IIS等一些解析漏洞进行上传利用,绕过WAF的一些思路和方法:
- 解析漏洞
(1)IIS 6.0 (除了解析asp,还解析asa, cer, cdx )
文件名解析:test.jpg ——à a.asp;.test.jpg
目录解析:/test.jpg ——à /111.asp/test.jpg (该目录下需能创建文件夹)
(2)IIS 7.0/7.5 Ngnix (只能解析php)
www.xxx.com/test.jpg ——à www.xxx.com/test.jpg/.php
在网站图片位置后面+/.php乱码就存在解析漏洞,然后传图马,+/.php菜刀链接。
(3)Apache
Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.。
www.xxx.com/test.jpg ——à www.xxx.com/xx.php.xxxxxxx - 上传漏洞攻击手法
(1)%00截断上传
(2)文件头修改
有的时候审核文件类型并不都是按后缀名,也可能按文件头内容,修改可突破。
GIF: gif89a jpg:JFIF
(3)文件类型修改 - 编辑器上传
(1)ewebeditor
辑器漏洞利用核心:获取编辑器地址
1、Ewebeditor编辑器漏洞利用过程:获取编辑器地址,尝试获取编辑器后台地址,尝试默认账号密码登陆,如登陆失败可尝试下载默认数据库,破解其账号密码,登陆后台,尝试添加上传类型,如无确认按钮,可新增样式,新增插入图片,浏览上传,获取后门地址。
2、目录遍历(选择目录样式)
http://www.kirinmach.com/ewebeditor//admin_uploadfile.asp?id=14&dir=../../../..
3、寻找前人痕迹再次入侵(下载的数据查找样式)
http://www.njgyjx.com/ewebeditor/ewebeditor.asp?ID=45&style=standard1
添加:asp,asa,php,aspx,aaspsp等类型
(2)fckeditor
首先确定网站脚本格式,然后寻找漏洞地址,访问上传,结合解析漏洞加以利用!
qq.asp;.jpg ==》qq.asp;.jpg (过滤:qqq_asp;.jpg)
突破fckeditor “.”过滤”_”:二次上传
第一次上传:qq.asp;.jpg ==》qq_asp;.jpg
第二次上传:qq.asp;.jpg ==》qq_asp;.jpg (不满足命名要求),可能出现第二次命名为 qq.asp;(1).jpg(这样就符合解析漏洞格式)
新建上传
漏洞地址:
editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=/qing.asp&NewFolderName=x.asp
结果:会建两个文件夹 /qing.asp/x_asp
手工新建:
/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=/&NewFolderName=xiaodi.asp
结果: /xiaodiasp
原因:
CurrentFolder:当前文件夹 未进行过滤
NewFolderName:新建文件名 进行了过滤(将“.”过滤成“”)
0x04 其他漏洞
XSS:可以利用XSS盲打后台。得到管理员的COOKLE和后台登录地址,可以直接登录后台拿shell;
任意文件下载:通常有下载功能的站我们可以尝试修改下URL文件名,看能否下载站点敏感文件,如数据库配置文件、配置文件等进行代码审计;
SSRF:可以利用SSRF得到真实IP,对内网进行扫描甚至攻击;
文件包含:可以包含本地的一些敏感信息或者远程包含拿shell;
变量覆盖:覆盖原始数据库配置信息(数据库地址,数据库账号密码,管理员账号密码)
0x05 端口、中间件利用
弱口令和everyone权限,比如21对应的FTP、1433对应的MSSQL、3306对应的MYSQL、3389对应的远程桌面、1521对应的Oracle等等,先试试弱口令和字典爆破,或许会有收获呢!
常见的一些中间件,如weblogic、Tomcat、jboss、JOnAS、WebSphere等一些中间件根据已经爆出的漏洞我们也可以直接拿到shell。
0x06 其他
爆网站路径:
- 报错显示
- 漏洞报错
- 遗留文件:phpinfo
- 读取配置文件
- 社工
后台拿shell:
- 修改配置文件(模板修改)
- 数据库备份
- 抓包上传
- 执行SQL命令
- 插入一句话
- 修改上传类型
网站cms识别
1、模板cms(开源源码程序)
Phpcms,dedecms,aspcms,WordPress,discuz,phpweb,php168等
2、非模板cms识别技术:
(1)工具识别:
Windows:指纹识别工具
Linux:whatweb
(2)人工识别:
图标logo,底部文件,后台标示,网站url地址,robots.txt等
介绍特定cms漏洞扫描两款工具:
(1)Wpscan:WordPress程序漏洞专用扫描器
(2)Joomscan:Joomla程序漏洞专用扫描器