当前位置:首页 > 综合

如何渗透一个网站并查看相关数据

2023年秋天,何渗某中型电商平台的网站后台数据库被拖走,起因只是并查一个没打补丁的测试接口。攻击者没用什么高深技术,看相就靠一个默认密码进了内网。关数这事后来被写成报告,何渗但报告里没提的网站是——那个接口的文档就挂在公网上,谁都能搜到。并查

渗透网站的看相第一步永远不是敲代码,而是关数翻公开信息。Google搜site:target.com filetype:env,何渗有时候能直接捞出数据库配置。网站GitHub上搜公司域名,并查运气好能碰到程序员误传的看相API密钥。我见过最离谱的关数案例,某公司把内部Wiki设成公开可读,里面详细记录了VPN的登录方式。这叫信息收集,但说白了就是捡漏。

扫端口是下一步。Nmap跑一遍全端口,看哪些服务开着。22端口开着不代表能SSH,80和443背后可能藏着老版本Tomcat。去年帮朋友查他公司网站,发现8080端口跑着Jenkins,连密码都没改,admin/admin直接进。进去之后能执行Groovy脚本,等于拿到了服务器权限。整个过程不到十分钟。

漏洞利用这块,SQL注入依然有效,只是没那么容易了。WAF会拦union select,但拦不住时间盲注。有个技巧是用AND SLEEP(5)配合二分法猜数据,慢是慢,可WAF不会报警。XSS现在更多用来打管理员Cookie,配合CSRF能直接改后台配置。文件上传漏洞要看后端怎么校验——只检查Content-Type的,改个包就行;检查后缀名的,试试.php5或.phtml。

拿到低权限Shell之后,别急着扫内网。先看/etc/passwd和~/.bash_history,历史命令里经常有数据库密码。再看crontab,有些运维脚本会以root权限跑,但脚本本身可写。Linux提权用sudo -l看能跑什么命令,如果有个find带SUID,直接find . -exec /bin/sh \;就提权了。Windows的话,whoami /priv看有没有SeImpersonate,有的话用JuicyPotato直接拿SYSTEM。

数据库才是目标。MySQL的information_schema能列出所有表名,但大公司会分库。找到用户表之后,密码通常是bcrypt或argon2,别想着爆破。直接找config.php或.env里的数据库连接串,或者翻/var/www/html下的备份文件。dump.sql这种名字一搜一个准。导出数据用SELECT ... INTO OUTFILE写Web目录,然后浏览器下载,比走Shell快得多。

清理痕迹这事,说实话大部分入侵者根本不清理。日志里全是sqlmap的User-Agent,/admin路径被扫了几百遍。真要藏,用ssh -D开 socks5 代理,流量走Tor。但别用免费VPN,那些节点早被监控了。有个细节:~/.mysql_history会记录所有SQL语句,记得删掉。

最后说个真实案例。某次授权测试,目标站有个Laravel调试模式没关,_ignition接口能执行任意代码。用phpggc生成反序列化payload,直接反弹Shell。从发现到拿数据,四十分钟。修复方案也简单——改.env里的APP_DEBUG=false。但很多公司上线前忘了改这个。

写这些不是教人犯罪。渗透测试和攻击的区别在于授权。没授权就是黑产,有授权就是安服。国内SRC平台挖漏洞,一个高危能换几千块,比黑产安全多了。技术本身没善恶,看你怎么用。

分享到: