黑客是怎么入侵一个网站的?

论坛 期权论坛 金融     
eu5mb   2022-6-30 04:40   7582   14
黑客是怎样入侵你的网站的?     --渗透测试基础全过程
“渗透测试的本质是信息收集”
    我相信安全行业的人士无一不会赞同这句话,这也是我们所有安全人员需要谨记的一句话。
    如同一众解密闯关类游戏一样,在渗透测试的过程中,我们往往需要通过大量的信息收集工作来筛选出有用的信息,并在这些信息的基础上去思考应该使用什么样的方法去进行渗透测试工作。
    其实无论是攻击还是防御,都离不开信息收集,可以说,我们的每一步动作都是建立在前一步的信息收集上,信息收集贯穿着我们从前端到内网的每一个环节,每一个步骤。
    相信绝大部分小白在初入渗透测试后都会有一段疑惑时期--“教程我都看完了,但是面对一个网站依然不知道干嘛”,特别是网络安全法出台之后,实战的机会少之又少。这篇文章将讲述从前端开始到内网渗透的全部基础/常规流程,并给出进阶建议,希望对网络安全行业的初学者有所帮助。
    在笔者开始写这篇文章之后发现想写清楚不太容易,因为逻辑上的顺序和操作上的顺序不太一样,按照逻辑顺序来写能让整个渗透测试流程比较明朗,但是在操作上可能会产生很多疑惑,反之也有类似的情况。最后笔者决定按照逻辑顺序来写,在必要的地方做出说明,但是可能仍然会有些混乱,看官可在评论区留言提问。
理论篇

一 前期信息收集

域名信息:有域名/ip/备案人相关信息等等,大致如下


服务器信息:类型/web容器等
网站信息:脚本语言类型/使用cms/采用数据库等等
其他信息:app 公众号等等
例如某目标站点:
        Windows系统
        nginx服务器
        php语言
        phpcms
        致远OA
        有一个APP
        有微信公众号
        针对不同目标前期工作会有些许出入,一般来说先收集操作系统类型,服务器类型,脚本语言,cms即可
二 前端(大致描述前端的一些渗透行为)

1. 在网页右上角,或者网站最下方的左中右侧,或者网站中间导航栏等位置可能有后台管理入口或者类似教务系统,oa系统等入口
2. 随意点击页面简单测试sql注入
3. 观察网址url,有时可得出cms或者其他信息
4. 逐级删除url,可能有目录遍历
5. /..\/可能有目录穿越
6. Windows对于大小写不敏感,linux对于大小写敏感,你可以尝试在Windows系统创建a.txt和A.txt,会提示文件已存在,而linux系统不会,这可以用来快速判断目标网站操作系统,例如http://www.sierting.com/index.php,将p换成P,如无法访问则为linux系统(找不到index.phP,因此404),需要注意的是http://www.sierting.com/prod/article.php?id=1如果将id改变大小写是不能作为判断依据的,因为id是参数,而不是文件,当url繁琐极长时,不要改错了
7. 访问robots.txt和robot.txt,很多网站都有这两个文件,用来告诉爬虫哪些目录不能爬的,这里面往往有后台管理地址等敏感目录
8. 搜索框顺手一个弹窗试试
9. url中有下载文件的类似filename这样的,可以尝试任意文件下载
10. 各类功能性的地方可能会存在逻辑漏洞,如注册,找回密码,支付等地方
11. 在有接受手机验证码的地方可以尝试抓个包重放,短信轰炸也算漏洞
12. 可以注册登录的网站,个人中心绝对值得一看,上传头像抓包改<img>xss,上传点,找回密码,忘记密码等等地方都大有可为
13. 忘记密码有时可以帮你快速找到管理员的账号,当你不知道管理员的账号时(一般是admin),你可以在找回密码处用burp抓包爆破,或者手工测试,不存在一般会提示账号不存在
14. 有的url参数可以尝试命令执行
15. 如果你看到目标网站是http://56.32.68.54:8989/index.php等等类似带有端口,你可以尝试端口附近的几个端口,基本上都能找到其他类似管理后台或者同站的其他系统
16. 像spring boots这样的,标签页会带有很明显的特征(一片绿叶),也可以快速判断网站所使用的服务,比如此时你就可以马上顺手访问/env等目录
17. 域名后面直接跟admin  login等,往往能快速找到后台
    以上所说都是临时所想,不太完整,作为抛砖引玉,大致描述一下前端我们的大致行为即可,需要谨记的是
渗透测试最重要的就是两个东西
1. 信息收集
2. 经验(以上都是根据笔者经验临时所写)
三 后台(假设通过在前端的操作你已经getshell了或者找到了后台地址)

1. 后台登陆处抓包复制数据包放到txt,扔到sqlmap里-r跑一下
2. 弱口令
        账号:admin sa root
        密码:123456 12345678 666666 admin123 admin888
        以上是我个人见的最多的几个
        管理后台一般是admin,像phpmyadmin这种涉及到数据库的,一般是root
3. 没有验证码,验证码不刷新,验证码只有一个,验证码无作用都可以尝试爆破
4. 万能密码有奇效
5. 去前台发布的文章,留言板的回复看看作者是谁,很有可能是管理员账号
6. 有的网站会提示你账号不存在之类的,可以手工或者burp爆破找到管理员账号
7. 常规字典爆破完没有成功时,可以根据信息收集到的相关资料生成密码爆破,包括但不限于域名备案等资料,像类似学校网站等完全可以去前台找找老师电话,姓名缩写之类的,还有其他思路,各位可以根据网站自行思考
8. 扫到的目录可能有源码泄露等
9. 采用的cms有默认账号密码,可以百度搜一下
10. 有找回密码/忘记密码等都有可能有短信轰炸,逻辑漏洞,任意密码重置,爆破管理员账号等
11. f12康康总有惊喜发生
12. 注意别被墙了
13. 有时有的网站会把错误信息记录到一个php文件,你可以尝试账号或者密码写一句话,可能会直接getshell,笔者遇到过一次
14. 进入后台之后找找上传点,上传绕过就用上了
15. 其他的具体看看有什么功能,数据库备份什么的
16. 编辑器漏洞我刚在护网红队用上
17. 扫描的目录的不正常的都可以看看
18. 扫到名字奇怪,打开空白的文件拿去爆破一句话试试,我前几天刚用上
以上所说都是临时所想,不太完整,作为抛砖引玉,注意一下功能点就好,大致描述一下前端我们的大致行为即可
四 提权及内网(内容繁多,稍微说下)

拿到shell之后可能会有权限不足的情况,大致分为两种情况
1. Windows提权
2. linux提权
具体的提权方式可以百度了解一下
内网方面还是信息收集,开局看看本地ip,扫描下存活主机,各种exp走一波,各种工具扔上去跑一跑扫一扫,内网博大精深,要学好很不容易,几句话简单描述反倒误人子弟。
                                                   实践篇

    这一篇所讲的内容主要是讲一下实战过程中的一些操作问题,如上面理论篇中所说,我们进行的顺序是这样的
前期信息收集
web前端
网站后台
getshell
提权
内网漫游
    但是在实际过程中,我们并不是一定要刻板的按照这样的顺序去进行渗透测试,前面所说只是为了让小白在入门时对整个流程有一定的了解,在实战过程中,我们往往先找捷径,比如笔者在渗透测试过程中习惯先找后台尝试弱口令,再尝试sql注入,url上的一些操作,xss无果之后,再去进行信息收集(如cms,中间件等),进行系统的渗透测试。
    毕竟信息收集是需要耗费大量时间的,如果我们顺手找到后台,弱口令直接进入,或者发现注入等等,这将节省我们大量的时间。
    这是在自己尝试渗透测试的过程中,如果你是在渗透测试项目中,那么笔者还是推荐你花费大量的时间的去进行信息收集工作,前期磨刀是为了后期更好的砍树。
    另外,永远要相信奇迹,笔者接触渗透测试已有多年,近年来也接触护网,参加了红队,在一系列经历中,遇到了很多类似于爆破后台管理员账号是手机号结果爆破出来15688888888这样的测试手机号作为账号的情况,也遇到一晚上爆破出来4个手机号这样的情况,因此只要有一个可以操作的地方,我们都要尽力去尝试,只需要尝试之前排好操作的顺序,把高效的手段优先使用即可。
                                                   学习篇

    此处笔者假设看官已经学习了常规的渗透测试基础,达到了脚本小子的程度。
    此时,笔者推荐你去学习一门或多门编程语言,具体学习那种语言看官视自己情况而定,无论是c或者python或者php或者其他,先着手去学习,不要三天打鱼两天晒网,很多人都会有一个现象就是,这门语言学习一段时间发现似乎另外一门语言更有用,转而放弃去学习另外一门语言,长久以往,达到了精通20门编程语言的hello world。
    编程语言之间是有共性的,它区别于人类之间的交流语言,编程语言都是在英文的基础上(易语言掀桌而起),都是人类发明而来的,它是有逻辑可循的,不会无厘头,当你学完一门之后,你会发现学习其他语言会十分轻松(不绝对)。
    对于渗透测试来说,笔者推荐学习php和python,按照最低要求来说,php要求你能看懂代码,以便你进行代码审计(有的网站你能在GitHub找到源码,或者开源cms等你都可以去审计,找到还未发现的漏洞),python要求你能写代码(当你得知一个最新爆出的漏洞之后,你需要根据原理快速编写出exp,当第一个吃螃蟹的人,无论是比赛,护网,src或者其他,都很有用)。
    除了上述的学习语言外,你也需要随时关注最新的新闻消息,关注最新的技术,漏洞等,保持自己的活力和知识库。
    这是一条曲折的道路,前途未来虚实不清,也许你在担心这是青春饭,亦或担心态势感知,人工智能等给行业带来的冲击,但是最重要的是活在当下,自动化的普及带走了很多岗位,也带来了很多岗位,一直在学习的人永远不用担心被淘汰,倘若以后行业巨变,对于我们的改变最大无非是转型,转向底层研究等等,而无论怎样,都需要你现在去尽力学习,以学习应万变。
抬头看天,低头看路。
    文章为临时所作,思考可能不太全面,如有遗漏错误,欢迎补充指正,鼓励一切友好,不带有娱乐圈氛围的讨论。
    另外,思而听即将上线CTF和渗透测试的学习平台,一众培训也在准备之中,我们欢迎有志于网络安全事业的小伙伴加入我们,一起学习,一起进步。
分享到 :
0 人收藏

14 个回复

倒序浏览
2#
uz6zy  1级新秀 | 2022-6-30 04:41:40 发帖IP地址来自 云南
黑客渗透网站的时候,不会被防火墙察觉吗?
3#
nhty4  1级新秀 | 2022-6-30 04:42:28 发帖IP地址来自 北京
防火墙可以绕过
4#
fhnu  1级新秀 | 2022-6-30 04:43:08 发帖IP地址来自 北京
大佬们, 我这里有个黑客天天黑人网站,搞得我对登录不上去了,你们有什么办法解决这种事情么[惊讶][惊讶][惊讶]
5#
gj_ic  1级新秀 | 2022-6-30 04:43:29 发帖IP地址来自 中国
不是自己的网站建议联系网站管理员解决呢。
6#
rxec5  1级新秀 | 2022-6-30 04:43:39 发帖IP地址来自 北京
OK
7#
x2it  1级新秀 | 2022-6-30 04:44:17 发帖IP地址来自 北京
看了下文字,是从业者。写得不错啊 感谢知识分享。感觉你写的报告应该写的很好
8#
h_5vk  1级新秀 | 2022-6-30 04:44:38 发帖IP地址来自 北京
上个500G高防服务器
9#
老虎6299  3级会员 | 2022-6-30 04:45:20 发帖IP地址来自 中国
进别人服务器或者数据库该数据有可能不被发现?
10#
l3hi6  1级新秀 | 2022-6-30 04:46:04 发帖IP地址来自 四川达州
判断操作系统,推荐nmap -A ip这个命令很棒的[赞同][大笑]
11#
jypqz  1级新秀 | 2022-6-30 04:46:56 发帖IP地址来自 北京
黑客天天黑你网站什么鬼
12#
吴宇  管理员  伦敦金丝雀码头交易员 | 2022-6-30 04:47:27 发帖IP地址来自 中国
一般有价值去渗透的网站都是放nmap, whatweb,skipfish 这些的,根本嗅探不到。说出来你可能不信,大多数时候还得凭借经验猜。如果你渗透一个网站,它的response里面没有server等常规信息,你是既不知道它用的什么server也不知它是什么写的,甚至是什么系统你也不知道,但是我感觉他们做这个东西也就是防君子不妨小人,有经验的抓抓目录结构啥的,就猜的七七八八了
13#
_3_3k3  1级新秀 | 2022-6-30 04:48:16 发帖IP地址来自 北京
请问一下有没有办法登录一个被客服禁用的账户呢?
14#
s9bdl  1级新秀 | 2022-6-30 04:48:29 发帖IP地址来自 北京
找回网站的登录账号密码,哪位可以帮助,事成重酬,有能力帮助的联系一三七七一九九六八九六
15#
vl8u  1级新秀 | 2022-6-30 04:48:46 发帖IP地址来自 北京西城
。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP