当前位置:首页 > 时尚

门户网站渗透测试

去年某省级政务门户网站被拿下,门户攻击者只用了三个小时。网站入口不是渗透0day,不是测试社工,是门户一个被遗忘的测试页面——`/test/login.aspx`,管理员账号密码都是网站`admin`。这个页面不在导航栏里,渗透不在sitemap里,测试但它就在那里,门户像一扇没锁的网站后门。渗透测试做到最后,渗透拼的测试往往不是技术深度,是门户你有没有耐心把每个角落翻一遍。

门户网站这东西,网站表面上看就是渗透个信息发布平台,新闻、通知、办事入口。但它背后的东西比你想的复杂得多。CMS、OA对接、统一认证、数据库连接池、缓存层、CDN回源、第三方统计代码……每一层都是潜在入口。我习惯先把整个站点的指纹摸清楚。WhatWeb跑一遍,Wappalyzer看一眼,基本能判断出用的是织梦还是PageAdmin,是Spring Boot还是ThinkPHP。框架定了,漏洞方向就窄了一半。

目录扫描是基本功,但很多人扫得太糙。dirsearch默认字典跑完就完事了?不够。门户网站有个特点——历史遗留文件特别多。`/admin/`、`/manage/`、`/backup/`这些常见路径要试,但更要关注那些带年份、带版本的目录。我见过一个站,`/web2019/`下面躺着完整的数据库备份,`.sql`文件直接能下载。这种问题不是扫描器能发现的,得靠对目标业务的理解去猜路径命名习惯。

SQL注入在门户站上依然常见,尤其是老旧的ASP和PHP系统。但现在的WAF不是吃素的,直接上`and 1=1`等于自报家门。我一般先测参数类型,数字型用`-1`、`+1`看回显差异,字符型用`'`和`''`对比。如果WAF拦了,试试内联注释、大小写混写、或者用`%0a`换行绕过。有个技巧:门户站的搜索功能往往是注入重灾区,因为开发觉得“只是个查询”,防护做得敷衍。

文件上传就更不用说了。门户站要发新闻、传附件、换头像,上传点遍地都是。但能传不等于能执行。我遇到过上传`.jpg`成功,但改后缀为`.php`就被拦的情况。这时候要看服务器解析漏洞——IIS 6.0的`/x.asp/x.jpg`、Apache的`.php.`、Nginx的`%00`截断。还有个思路:传`.htaccess`或者`web.config`,把图片当脚本解析。这招在有些配置下能直接拿shell。

越权漏洞在门户站里特别隐蔽。比如用户A能通过修改URL里的`userid`参数看到用户B的私信,或者普通编辑能访问管理员才有的发布按钮。这种漏洞扫描器基本扫不出来,得手动测。我一般开两个浏览器,一个登普通账号,一个登管理账号,抓包对比请求,看哪些接口没做权限校验。门户站的权限模型往往很粗糙,开发图省事,前端隐藏按钮,后端不验身份。

最后说个非技术的点:门户网站渗透测试,信息收集占七成时间。Whois、备案信息、子域名、C段、GitHub泄露、邮箱格式、员工姓名……这些拼在一起,能画出很清晰的攻击路径。有次我从一个离职员工的博客里找到内网VPN的登录地址,虽然最后没用到,但那种“原来还能这样”的感觉,比拿到shell还爽。

渗透测试报告别写得太学术。客户要的是“哪里有问题、怎么修、优先级排序”。把高危漏洞放最前面,配上复现步骤和截图。别堆砌术语,说人话。你写“存在SQL注入风险”,不如写“攻击者可通过搜索框直接读取数据库中的管理员密码哈希”。

分享到: