用户
搜索
  • TA的每日心情
    擦汗
    2017-8-9 18:15
  • 签到天数: 84 天

    连续签到: 1 天

    [LV.6]常住居民II

    i春秋-核心白帽

    Rank: 4

    50

    主题

    1184

    帖子

    753

    魔法币
    收听
    0
    粉丝
    15
    注册时间
    2016-3-23
    发表于 2016-5-23 14:44:31 48972754
    首先说明我也是菜鸟,只不过花了不少时间在渗透上。下面我把自己会的和大家分享一下。不涉及提权和旁站。只单纯的讲指定站的渗透思路。
    单丝不成线,独木不成林。哪里讲的不好,请大家指出来,共同进步


    【前戏】

    转载出处:http://www.chinacycc.com/thread-589-1-3.html

    信息探测:主要是网站的脚本语言、数据库、搭建平台、操作系统、服务器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.短目录。根据我的经验,很多网站管理员都会在根目录下建目录,然后里面是另一个站或者是分站。亦或者是以前的备份。所以这些目录千万不要偷懒,也扫一下。

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


    先歇会眼疼

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






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


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


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


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


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


    下面讲一下找后台,老生常谈。希望帮助到新手朋友。


    【实用找后台的几种方法】
    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等报错特有关键词
    我觉得还有很多,希望朋友们分享。

    ---------------------------------------------------【总结】---------------------------------------------------


    讲个短点的供新手参考,
    首先网站环境要摸清楚,先踩点,cms要判断清楚。目录和漏洞扫起来,有上传就上传,没上传找注入,有注入就注入,没注入找后台,有后台弱口令,字符登录看看是否报错,报错就post注入,不行就爆破,前面收集的注册人信息社工下密码,对爆破有帮助,再不行就扫端口,几个端口都可以爆破,要用好字典。不行就旁站吧,旁不下就C段。


    -----------------------------------------------------------------------------------------------------------------

    希望对新手有帮助。倾情奉献。

    评分

    参与人数 6魔法币 +43 收起 理由
    Kaiho + 20 很全面,十分适合新手,有很大帮助。.
    星星宝儿 + 10 6666
    狂人 + 5 呆萌过来巩固知识
    残笑 + 1 谢谢@Thanks!
    青浒 + 1
    粑粑不小心 + 6 谢谢@Thanks!

    查看全部评分

    发表于 2018-9-21 20:49:57
    写的很详细,在平时测试的时候也会经常用到楼主说的这些方法,平时多做总结,吸取前辈的经验,结合自己的理解,慢慢也会成为一个大牛
    有一天他会突然觉得累了甚至忘了初衷 放弃了梦想也许因为年纪的关系奔波于现实 然后拉黑了网络认识的所有人或者说不用了一个号码换了一个QQ 那么记得他叫大叔 这个网络他曾来过
    使用道具 举报 回复
    过几个星期看一次真的又有很多收获~~
    使用道具 举报 回复
    发表于 2017-10-24 16:59:13
    先评论一下然后慢慢看!
    Just do it!
    使用道具 举报 回复
    感谢大神分享,受益匪浅
    使用道具 举报 回复
    感谢分享 收获很大
    使用道具 举报 回复
    不错不错我很中意
    使用道具 举报 回复
    受教了 谢谢咯i主
    使用道具 举报 回复
    支持一下~
    使用道具 举报 回复
    发表于 2016-5-23 14:46:19
    看看                 
    使用道具 举报 回复
    999999999999999999999
    使用道具 举报 回复
                     新手      
    使用道具 举报 回复
    发表于 2016-5-23 15:08:26
    666666666666666           
    使用道具 举报 回复
    发表于 2016-5-23 15:16:19
    新手来学习一下
    使用道具 举报 回复
    发表于 2016-5-23 15:21:53
    6666666666666666666666
    使用道具 举报 回复
    66666
    新手必看渗透指定网站的思路
    使用道具 举报 回复
    发表于 2016-5-23 15:30:28
    666666666666666
    使用道具 举报 回复
    发表于 2016-5-23 15:33:18
    很高兴回复下载咯
    使用道具 举报 回复
    发表于 2016-5-23 15:38:50
    不错66666666           
    使用道具 举报 回复
    学习一下                    
    使用道具 举报 回复
    发表于 2016-5-23 16:05:06
    6666666666666666           
    使用道具 举报 回复
    发表于 2016-5-23 16:06:00
    这个不错啊。
    使用道具 举报 回复
    学习一下,哈哈哈
    使用道具 举报 回复
    您需要登录后才可以回帖 登录 | 立即注册