学员渗透思路篇

作者:admin

花了一个多小时整理出这思路,就是为了学员在学渗透能多点方向,不要拿到一个站想干嘛都不知道,

 

【前戏】

信息探测:主要是网站的脚本语言、数据库、搭建平台、操作系统、服务器IP、注册人信息、网站防护情况。

简单说一下这些信息的获取方式:
1.【目标站的脚本语言识别
1-1 最简单的方法,在域名后面分别加个/index.asp /index.aspx /index.php /index.jsp
大部分网站根目录都会放个index首页文件。这是最快速最简单的方式。
1-2 爱站 站长工具这些综合查询,一般都会给出网站的脚本语言。
1-3 用一些发包工具,也可以探测。比如我们用burp发包时就会返回。
1-4 网站的robots.txt robot.txt site.xml 这些文件很可能会有暴露网站的语言
1-5 在网站任意界面直接查看源码,搜索asp或aspx或ph或jsp 如果看到前面跟的是网站的域名,那就是网站支持的语言。
1-6 如果不是静态或者伪静态,多点开几个界面,可以看到脚本后缀。
1-7 用google搜索site:目标站域名 inurl:脚本语言类型 如果收录不是很少,一般都能看出来。
1-8 如果是php的站,网上有下载《php秒知程序》,在以上不能用的情况下可以判断出来。
1-9 扫目录或者用爬行工具都可以。
可以说,网站语言是最好判断的。
2.【目标站使用的数据库
2-1 如果语言为asp,基本就是access数据库 aspx可能是mssql或mysql很少是access 极少会是oracle jsp的站oracle居多 
2-2 试网站报错也可能会间接给出数据库信息,使网站报错的方法下面会详细讲。很多方法。
2-3 存在注入时 在参数后面加上 and len('a')=1 如果返回正常,一般数据库为mssql或mysql 大站的话可能是db2 界面返回错误的话,数据库基本是oracle
2-4 这个是网上的办法 在参数后面加上 ;and (select count(*) from sysobjects)>0 如果返回正常那就是mssql数据库 如果不正常那就不是mssql
2-5 这个很简单,其实你扫一下端口。就知道是什么数据库了。1433对于mssql数据库 而3306对应mysql数据库。 如果端口被更改,可以逐一用 xx.xx.xx.xxI:端口 访问尝试,如果是数据库端口,会返回对应的无法连接数据库的英文 。不是数据库,服务器会一直载入或者找不到界面。
2-6 有点鸡肋,老站的话不确定是不是access,可以用一下暴库漏洞,找个二级目录的文件,然后在一级目录下把/替换成%27 爆出数据库,那肯定就是access。虽然现在不多了,但是可以随手一试。

3.【目标网站的搭建平台探测
这个的话网上也没有什么资料。主要方法不是很多。
3-1 大部分网站直接放进爱站 站长工具,查一下就有了
3-2 查不出来的话,可以用软件发包,如果用的不是和爱站一样的探测方式,就可以得到搭建平台信息
3-3 通过遗留文件获取到网站的搭建平台 一些探针文件都会有。而且可以有绝对路径。所以需要强大的字典和随手一试
3-4 其实有时候目标站查不出来,我们可以查旁站,一般和目标站搭建平台一样的。但是这里要确保IP是真实的。
我是想不到更多的办法了,希望有其他方法的朋友分享出来。不过一般情况下这几个就够了。
4【目标站的操作系统
4-1 爱站这些一般都能返回
4-2 发包也可以返回
4-3 可以区别是windows还是linux得小技巧,在网站任意文件链接修改任意字符为大写,返回正常为windows 返回错误为linux 这就是特性,原理大家都懂的。
4-4 ping 目标站 根据返回的TTL值可以大概判断出操作系统。这个我也没记,需要用的时候百度一下 TTL对于操作系统就可以。 另外说一个小技巧 ping的时候如果返回的TTL不稳定,可以在后面加个 -T 大小写都可以。就会持续返回了。修网线的都用这个参数,哈哈!
4-5 根据搭建平台判断目标操作系统 比如是IIS6.0 一般就是win2003 IIS7.0 7.5 大部分是win2008 IIS8.0 8.5 一般就是win2012
这个有点基础的人应该都明白。
5.【探测服务器真实IP
5-1 我一般就直接在爱站这些网站查,多用几个查询网站对比一下IP。
5-2 查询的时候,如果看到有带有子域名,并且站不多。基本上就是真实IP。
5-3 用seay大法师的神器,子域名挖掘工具。很容易可以看出来
5-4 这是一个简单的方法,直接本地ping网站 但是不要加www. 一般情况真实IP居多。
5-5 很多主站虽然使用了CDN 但是分站,子域名。一般不会使用。所以这个也可以探测到真实的IP.
6.【获取网站注册人的信息
作用:这个作用很大啊,虽然以前我不这么认为! 
比如一个站你一定要搞,旁站和C短没办法利用的时候。那就用注册人的邮箱查询他的其他网站,收集密码。然后在搞目标站,爆破之类的就很好搞了。
6-1 爱站 站长之类的可以查询到注册人的信息,邮箱啊 姓名啊 联系方式啊。然后我们收集起来,社工库查一下密码。然后用工具生成字典。爆破他的网站,几率就会很大。
6-2 网站一般也会有暴露,比如版权那边 联系方式那边。
7.【获取网站防护情况
安全狗啊,防火墙啊,云盾啊等等。。
1-1 直接用网站防护探测工具判断,八九不离十。下载的话,有群的朋友们,我已经共享上去了。
1-2 找个带参数的界面,加上 and 1=1 如果有安装防护(大部分都会开启注入防护),会暴露防护软件。如果不是高版本的,网上也是有一些方法绕过的。额,扯远了。
1-3 网站底部,可能会有防护软件的平台入口。细心观察。昨天就是一个站底部有云盾超链接。

渗透开始
先不要想着找注入,什么的。
先观察一下网站,大概结构。是什么CMS。这很重要,知道了是什么CMS,日站(友情检测),就快速多了。
浅谈CMS识别的几种方法
1.看网站底部,如果未修改的话,一般都会有CMS的信息以及版本。
2.robots.txt 确实很多robots都会有CMS的版权,一般在头部居多。
3.这个方法我常用,就是在google里site:目标站 CMS 或者内容管理系统。很多时候都能出结果。
4.找到后台的话,后台大部分都会有CMS的信息。
5.通过网站链接来识别,很多时候链接中已经包含了CMS的信息。所以仔细观察,扫目录也可以,就不单说了。
6.http://whatweb点bugscaner点com/ 这个是大名鼎鼎的bugscan团队开发的在线CMS识别平台,非常给力。
但是不要看了这个在线的平台就忘记上面看的方法了,切记。没有捷径的啊。苦为良药。
【正式开始日站(友情检测)】
如果你够认真的话,大部分的站都能判断出是什么CMS,然后我相信你会用百度。你需要做的就是耐心的多看,多尝试。多翻几页搜索结果。够耐心,还是有很多站可以秒的。防护什么的除外。
即使有防护,实在搞不下的话也可以在网上下载相应的源码。本地测试,很多利用的地方啊。
如果识别不出CMS或者全部利用失败。
1.【网站文件探测
1-1.我们需要扫描网站的目录,文件。还是推荐御剑,但是字典要用大字典。
1-2.放进AWVS或者其他的漏洞扫描器里面跑
个人习惯:先随手尝试找后台,
一般在域名后面加admin manage manager login 等等一些常用的,或者是用网站域名结合试试。也有可能是域名前两个字母 后两个字母+admin等等 反正就是要多试试。大部分都能找到。实在找不到也没事,后面讲找后台的多种方法。
【提示】
后台登录的时候注意一下提示框的内容,比如输入错误的账号密码有些站(大部分)是提示 账号或密码不正确,但是有的站提示密码不正确。那时候就可以确定我们输入的账号是正确的。因为账号验证通过。程序员在写提示的时候,是分别提示的。
如果很容易找到了后台,那就先尝试一下弱口令。多尝试几个。记得,多尝试几个!耐心。不行的话用网站域名登录,或者加上弱口令稍微组合一下。
如果没有耐心也可以,随手特殊符号登录,比如管理员账号我用~!@#¥%&* 密码随便填。如果登录报错呢,那就是没过滤完全。然后用排除法看看对哪些字符没过滤。
这时候可以尝试POST注入,直接用工具就可以。
如果对登录没产生影响,那就看登录有没有验证码。
后台无验证码情况下】:
爆破。最好用前面收集的注册人信息,然后用字典生成器,生成一下,在添加上常用的密码。可以用burp爆破,这个百度上搜索:《burp suite暴力破解网站密码》,有个百度经验就是讲这个的。 或者用AWVS自带的爆破,《杨凡的AWVS系列教程22课》有详细说明。
为什么和大家说这两个工具,因为确实好用,确保渗透一点差错都不能出,不然会耽误很多时间。
后台有验证码情况下
这个时候也分为好几种情况,
1.验证码不变(老站居多)
2..先验证用户名密码
3.先验证的是验证码


1的利用方法,验证码不变,我们只要抓包仍然可以爆破。
2的利用方法,如果先验证用户名和密码,一般会提示错误。然后密码清空。这时候验证码没变化的(先验证用户的大部分都这样),我们同样抓包也可以无视验证码。直到正确,验证码才会变化。
3的利用方法,这个说白了。就是要搞定验证码。
一般我们搞渗透遇到这种情况就不管了,其实也可以搞啊。但是要会点脚本或者编程。


比如我拿次世代验证码识别系统举例,我们拿到一个站,实在没办法了。可以试试爆破带验证码的后台,用什么语言都可以,抓个包,这个你们会的都会,我也不卖弄,没啥讲的。不会的人也看不懂,所以我就只讲方法。次世代本地制造那个验证码地址的识别库,然后各种语言的接口网上都有。
这样的话可以自动识别验证码,教程网上也有,慢慢看。如果密码不变态,我们够耐心,还是可以爆破出来的。
其实还有一些方法,以前乌云有人给出,技术不够利用不好。


好了刚才说的是爆破,如果不麻烦可以随手放到工具里,麻烦可以先不管,我们先看别的情况,


如果网站是IIS的,不论版本。都可以放进短文件脚本跑一下。
如果网站是nginx,可以随手试试php执行的解析漏洞


可以在前台找找注入点(终于进入注入了)
1.找不到,都是静态(伪静态)
2.存在带参数的链接


1.的解决方法【找到伪静态的真实地址】
比如网站是www。xxxx。com/indexphp/test/id/189.html
那我们可以尝试如下↓
www。xxxx。com/index.php/test/id/189 看看会不会返回正常,正常的话那就可以直接尝试注入。不正常继续。
www。xxxx。com/index.php/test/id=189
这样试试,正常尝试注入。不正常继续试,多尝试一点。
www。xxxx。com/index.php/test.php?id=189
我举得这个例子不好,不难猜。比如↓
www。xxxx。com/news/cc/id_189.html
www。xxxx。com/news/test/aa_news1.html
比如这种,也是经常有的。很可能就是伪静态啊,说不准的,所以我们要多试试。

www。xxxx。com/news/testphp?aa=news1d
www。xxxx。com/news/test.php?aa_news1=1
www。xxxx。com/news/test.php?aa_news1=10
www。xxxx。com/news/test.php?aa_news1=100
www。xxxx。com/news/test.php?=aa_news1
www。xxxx。com/news/test/aa.php?news=1
www。xxxx。com/news/test/aa/news1.php?id=1

像我们看到这些链接都可以试试,还有很多更奇葩的链接,其实说白了。如果真是伪静态,自己多构造尝试,耐心有的话,肯定能出来。
这玩意我是上次看cracer的教程学的。


再说一种简单的方法,
就是很多伪静态,你仔细看,一看开这个就界面是有个链接的转换过程的。就是从动态转为静态。这时候你手快的话可以截图,不过一般都截不到。可以抓包,一下就看到真实的动态界面。

总之举一反三,多尝试。


尝试注入
尝试注入的话,不止用and xor也可以,or我一直都没用过。
返回正常界面↓
+xoR+5>6 因为xor是非,和且相反。所以需要相反
+xOr+5=6
+And+666=666
等等,只要让语句成立就可以。


返回正常界面↓
+xoR+5>4 因为xor是非,和且相反。所以需要相反
+xoR+5=5
+aNd+666=777


都可以,以此类推。
因为很多站没防护的话,有的防注入只是黑名单,and 或者=号。
所以大牛的绕过思路是,看网站过滤什么字符,然后能不能用其他的字符达到目的。所以要逐一的测试。



有注入的话先别忙着注入,放到工具里面看看权限,如果是access数据库。sa权限,可以用用工具直接写马进去getshell。根本不需要注入。找后台。如果是mssql,mysql,一般魔术引号(有点基础的人懂的,简单说一下就是字符转义),没开的话,可以利用工具写文件进去网站(高权限),也可以执行命令,明小子就可以,所以注入时候看看权限。一般权限可以读网站文件,浏览目录。


不能注入,放进工具试试cookie注入。
如果提示非法注入,或者过滤。可以试试cookie注入。不行的话,在试几个界面,因为每个界面的代码都不一样。很可能有的界面就没过滤完。




如果存在那种防注入系统,提示您的注入信息已经被记录,IP:XX.XX.XX.XX 非法字符:and 1=1 操作时间:2016年1月1日 几点几分什么的。


这个也可以通过这个防注入系统拿shell,因为他会记录我们的注入信息。那我们只需要写一句话进去。他也会记录,而且是脚本文件。这时候只要找到他的文件地址连接一句话就可以。这个利用方法网上都有。 可以百度:利用防注入系统拿shell

所以说,注入点可以利用的地方很多。
注入查不到表的解决方法
说到注入了,可以注入查不到表就很坑了,我就经常遇到。要是access的话,就简单社工一下,看看域名。组合一下多尝试一下,如果不行。也可以看看后台的字段,有没有字段前缀,有可能表前缀和字段前缀是一样的。知道cms的话,下载一下看看默认的是什么,试试,在试试组合。 
要是Mysql数据库的表就没那么好猜了,方法同理。不过一般多发于5.0以下,因为5.0以上有自带的表可供查询。


注入查不到字段的解决方法
这个的话就稍微好点
最简单的方法:在后台登录框,查看登录的 字段。肯定是可以看到的,但是不是100%就是数据库登录的字段,前提是管理员没有修改。
看人品的办法:《偏移注入》这里我简单讲一下,刚才准备详细讲,但是太困了。后面还有不少东西要讲。 这玩意就是字段越多,越利于偏移注入的利用,如果你order by 时候只有三个五个,那就不用试了,基本不可能成功。具体原理网上有,用到的时候查一下就行。

注入不能利用,就找上传(其实应该先找上传,但是上传一般扫出来的多。注入就随手试),前面讲了扫目录,这时候可以看看有没有什么可以利用的,也可以在网站后面随手加up_loadfile.asp uploadfile.asp loadfile.asp fileload.asp 等等,或者是upload目录,类似的多试试。


还可以看看,网站的搜索框。 帮助栏目里面啊,一般都有搜索的,试试特殊符号会不会有影响。有影响可以搜索注入啊,有些转义了把引号转成\' 可以用宽字符啊。%bf' 其实你在搜索结果中一般都能看到过滤了哪些字符。这种一般手工试,会提升水平的,因为经常要构造。而且如果是POST提交的根据也没办法跑搜索型的注入,虽然很少post提交。这些东西说不准的。


没有的话,那就看看网站有没有什么下载文件啊,很多网站都有下载文件。这个也是前阵子才注意到的,比如有两种下载链接如下↓
www。test。com/down/file/123456.doc
www。test。com/down/file.php?file=123456.doc


你像这两种链接,第二种就可能存在下载漏洞。
比如在网站点新闻,有个news.php?id=35
我们可以尝试
www。test。com/down/file.php?file=../news.php
www。test。com/down/file.php?file=/../news.php
有的站点就可以下载,虽然不多。但是可以尝试一下。
可以利用,一般access的数据库就下载配置文件,然后查看数据库信息。尝试下载数据库。
mysql或mssql的站也是下载配置文件,查看数据库连接信息。找不到配置文件路径?没事,随便下载个新闻一般都可以,很多文件都包含了数据库配置的文件路径。主要是耐心。


然后还可以试试网站有没有遍历啊,www。test.com/news/up_image/test.jpg 可以在后面加../或&=../或/../ 等等,自己多试试。主要是耐心。


看看扫出来的目录有没有什么,敏感信息啊。比如类似于木马的文件,那可以访问一下。尝试爆破。如果扫出来大马,asp的可以用工具溢出密码。网上有下载,耐心找找。很好用的。php的马就爆破,最好用burp或者AWVS,不会的话上网查,现在学习环境很好的。你还需要一手好字典,不然再好的工具也徒劳。所以你需要收集,上网查。


扫描中的敏感信息
如果是已知的cms,一般不会有上传文件、数据库什么的扫出。主要就是扫备份,和txt,马儿之类的。xml,html、或者一些遗留。还有可能管理员会增加一些目录,里面会有惊喜。


不是cms,很多可以利用↓
1.看扫出来的目录名字,多思考。很大帮助。
2.一些txt,txt的字典一定要多添加点进去。作用很大,会有你想不到的收获,
3.数据库扫出来,哪怕是备份的数据库。密码不对也没事,一般多猜猜就进去了。
4.备份,这个出来很重要。
5.xml这种也要看,打开xml文件界面后以后搜索.txt .mdb .php .asp root admin pass等等,我前两天就是在一个站,没什么利用的情况下扫出来了一个编辑器目录下的xml,然后打开搜索到了一个txt的地址,然后通过这个地址发现了数据库的所在地址。然后下载了数据库,拿到了shell。
6.一些奇怪的html文件都要看,而且要细心观察。
7.短目录。根据我的经验,很多网站管理员都会在根目录下建目录,然后里面是另一个站或者是分站。亦或者是以前的备份。所以这些目录千万不要偷懒,也扫一下。

还有很多思路。下面讲一下端口的利用吧,这方面的教程很少。

网站所有地方都没办法日(友情检测)的话,从端口下手也是不错的选择。

 

实用找后台的几种方法
1.常用后台地址
2.扫后台
3.google黑客 site:xxx.com 登录|登陆|后台|系统|中心|管理员 或者site:目标站 inurl:admin|manage|login 一般虽然改了后台,大部分都是在添加了字符,很少会把关键词去掉。|代表或
4.查看网站图片,其中目录很可能包含管理目录
5.这个方法是我前阵子注入的时候发现的,就是很多首页文件都会包含后台目录,可以试试。比较鸡肋。
6.结合域名或者cms猜一下,耐心。、


网站绝对路径的获取方法
很多时候需要绝对路径,比如跨库注入、sqlmap下用sql-shell、注入可写文件但是不可读文件。还有很多。
通过遗留文件获得,比如phpinfo info sitephp 一些探针文件啊都有,等等。
通过报错获得,下面有报错方法。


实用报错的几种办法
1.直接在链接后面加特殊符号 引号不行就换别的
2.访问不存在的文件
4.如果网站配置不当 在任意登录界面,你随意登录,也会报错。
5.google搜索site:xx.com error等报错特有关键词
我觉得还有很多,希望朋友们分享。


端口的话,其实东西不多,但是网站没人出教程,只能自己搞。搜到的都是抓鸡的。


容易利用的端口
21端口 ftp
1433端口 mssql数据库
3306端口 mysql数据库
3389端口 远程端口
还有一些端口,这里只讲几个我们渗透容易利用的。


其实说白了就是爆破,主要问题是工具和字典。字典的话,多收集好字典吧。
工具我给推荐几个
21端口 推荐Kali的Metasploit
1433端口 推荐Kali的Metasploit
3306端口 推荐MysqlPasswordAuditor 这是windows的,很好用。网上有破解版。
3389端口 这个我暂时没好工具。


【其他端口】
我们在扫端口的时候经常会看到一些奇怪的端口,或者不认识的端口。

尝试利用:直接用 服务器IP:端口 在浏览器访问,很可能phpmyadmin就在哪个端口下面,说不准的,或者一些管理空间入口,其他wdcp什么的 很多。总之还是耐心,多试试。


本文由要技术网原创,转载时必须以链接形式注明:http://www.yaojishu.com//html/yejiexinwen/2017/0903/8.html
了解要技术网

要技术网前身是以黑客培训为主的培训机构,用5年时间打造了国内好评率最高的网络技术培训机构。 多套原创课程,高质量课程内容,通俗易懂的讲解方式,使之成为国内领先的技术培训行业黑马,并在众多学员身上得到了验证,黑客精神的思想,是要技术起步的基础,同时也创造了要技术的品牌。

学员感言

学习指南 试学课程 技术分享 学员体会 常见问题 联系我们 关于我们 付款方式 为什么选择我们 业界新闻 © 2017 yaojishu Inc. 要技术