1、一个网站的渗透测试思路,流程(给你一个网站,怎么做?)
1)信息收集
a. 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
b. 网站指纹识别(cms,cdn,证书等),dns记录
c. whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
d. 子域名收集,旁站查询(有授权可渗透),C段等
e. google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等
f. 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
i. 传输协议,通用漏洞,exp,github源码等
2)漏洞挖掘
1> 浏览网站,看看网站规模,功能,特点等
2> 端口,弱口令,目录等扫描
3> XSS,SQL注入,命令注入,CSRF,cookie安全检测,敏感信息,通信数据传输,暴力破解,任意文件上传,
越权访问,未授权访问,目录遍历,文件 包含,服务器漏洞检测,最后使用漏扫工具等
3)漏洞利用 | 权限提升
a) mysql提权,serv-u提权,linux内核版本提权等
4)清除测试数据 | 输出报告
a) 日志、测试数据的清理
b) 总结,输出渗透测试报告,附修复方案
5)复测
验证并发现是否有新漏洞,输出报告,归档
2、 ssrf和csrf区别
CSRF
又称跨站请求伪造,XSS就是CSRF中的一种。二者区别,XSS利用的是用户对指定网站的信任,CSRF利用是网站对用户浏览器的信任。
发生条件
当用户在安全网站A登录后保持登录的状态,并在此时浏览了保存有恶意代码的另一个网站B。此时B站劫持用户的浏览器并以用户以登录的
状态对A站发送非用户本人的操作。当服务端没有对这次请求验证的情况下,将这次操作作为可信任的用户的操作。
发生地点
攻击者可以将恶意网址或者代码藏在论坛博客等任何用户生成内容的网站中。这意味着如果服务端没有适合的防御措施的话,用户即使访问
熟悉的可信网站也有受攻击的危险。
防御
增加验证码机制,增加带有大量噪点的验证码,杜绝代码能够识别的简单验证码,当然了也经常被绕过
验证referer,采用同源政策,referer记录着数据包的来源地址,来判断请求的合法性,但是这个可以伪造
使用Token,令牌是一种将表单value的加密算法生成不同的加密结果,在服务器端进行验证。
在访问登录过一个网站,点击退出账户。
SSRF
又名服务端请求伪造攻击
有的大型网站在web应用上提供了从其他服务器获取数据的功能。使用户指定的URL web应用获取图片,下载文件,读取文件内容攻击者利用有缺陷的web应用作为代理攻击远程和内网的服务器(跳板)
危害:
可对外网,服务器所在内网,受控服务器进行端口扫描,获取一些banner
对内网web应用进行指纹识别,通过访问默认文件实现
攻击内外网web应用,主要是使用get参数就可以实现分攻击
利用file协议读取本地文件
修复方案:
过滤返回信息,如果web应用数去获取某一类型文件,在把结果返回给用户之前先验证信息是否符合标准。
例如:当攻击者利用"识别图片"下的该漏洞远程包含一个文件,可以通过在服务器上验证返回数据是否是纯像素,来进行过滤。
统一错误页
限制请求端口为http常用端口 80,443,8080,8090
内网IP黑名单,避免应用被用来获取内网数据,攻击内网