渗透测试基础知识
渗透测试的渗透本质,是测试模拟攻击者的思维和手法,去发现系统里那些“本不该存在”的基础入口。去年我帮一家电商做测试,知识他们刚上线一个优惠券领取接口,渗透表面看有频率限制,测试但把请求里的基础用户ID改成负数,限制就失效了——这种逻辑漏洞,知识扫描器永远扫不出来。渗透 很多人把渗透测试和漏洞扫描混为一谈。测试扫描器像拿着清单挨个敲门,基础问“你在家吗”;渗透测试则是知识翻墙进去,看看抽屉里有没有钥匙。渗透前者产出的测试是报告,后者产出的基础是风险认知。一个中等规模的Web应用,扫描器能报出两百多条“疑似漏洞”,其中九成是误报。而一次针对性的渗透,可能只找到三个问题,但每个都能直接拿到数据库权限。 新手最容易犯的错,是拿到目标就急着上工具。我见过有人对着一个IP直接开扫,结果触发了WAF封禁,后面什么都做不了。真正该做的第一件事是“被动信息收集”——查whois、看DNS记录、翻GitHub上的代码提交、在领英上找运维人员的名字。这些信息拼起来,往往能画出比端口扫描更完整的攻击面。 举个例子。某次测试目标是一家在线教育平台,主站防护很严。但我从他们的招聘JD里发现,运维团队在用一个叫“Jenkins”的旧版本做持续集成。顺着这个线索找到那个未授权的Jenkins面板,直接执行了系统命令。整个过程没有碰主站一下。 拿到一个shell只是开始。客户关心的是“你能造成多大破坏”,而不是“你能不能进来”。我习惯在获得初始访问后,花大量时间做内网横向移动。看看这台机器能访问哪些其他系统,有没有保存的凭据,域控在哪。 有一次,通过一个SQL注入点拿到了Web服务器的低权限账户。翻看配置文件时发现数据库密码和域管理员密码相同——这种“密码复用”在内网里太常见了。从外网到域控,总共花了不到四十分钟。如果只提交那个SQL注入,客户可能觉得“只是个中危漏洞”。 渗透测试的交付物是报告,但很多技术出身的人写出来的报告,开发看不懂,管理层看不下去。我见过一份报告,漏洞描述里全是“CVSS评分9.8”“远程代码执行”,但没写清楚“这个漏洞在哪个URL”“怎么复现”“修复建议具体改哪行代码”。 好的报告应该让三类人都能读:开发能照着修复,运维能理解影响范围,老板能判断要不要马上停机。我通常会在每个漏洞下面加一段“业务影响”,比如“攻击者可利用此漏洞获取全部用户订单信息,包括姓名、电话、收货地址”。这句话比任何技术术语都有说服力。 最后说一个容易被忽略的点:渗透测试不是一次性任务。你这次测完修了,下个月上线新功能,可能又引入新问题。我见过太多客户,测完就把报告锁进抽屉,直到下一次合规检查才想起来。真正的安全,是把渗透测试当成持续的过程,而不是一年一次的考试。信息收集决定了测试的上限
漏洞利用不是终点,权限维持才是
报告写不好,测试等于白做
-
上一篇
-
下一篇