1.获取域名的whois信息,获取注册者邮箱姓名电话等。
2.通过站长之家、明小子、k8等查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3、通过DNS域传送漏洞、备份号查询、SSl证书、APP、微信公众号、暴力破解、DNS历史记录、K8 C段查询、Jsfinder、360或华为威胁情报、证书序列号获取企业域名与ip。
4.通过Nmap、Wappalyzer、御剑等查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
5.通过7KB、破壳扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针、管理员备份文件。
6.google hack 进一步探测网站的信息,后台,敏感文件
7、敏感信息收集,如github源码、用7kb、破壳扫源代码泄露(.hg、.git、cvs、svn、.DS_store源代码泄露)、google hack、接口信息泄露、社工信息泄露、邮箱地址信息收集、网盘搜索、钟馗之眼、天眼查、威胁情报、微步在线等
8、通过Wappalyzer、御剑工具对网站指纹识别(包括,cms,cdn,证书等),dns记录
二、漏洞扫描
1用AWVS、APPSCAN、长亭科技的Xray等扫描器检测Web漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
2用namp、天镜、Nessus、极光等扫描系统ip,对扫描出来的高危漏洞进行测试,如ms08-067、ms17-010、ms12-020、ms15-035、ms19-0708、永恒之蓝2代、cve-2017-7494(samba)、cve-2014-6271(破壳)、php cgi等相关漏洞验证。
3漏洞利用
利用以上的方式拿到webshell,或者其他权限
4权限提升
提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
5日志清理
操作系统、中间件、数据库等日志进行清除
6总结报告及修复方案
一般去seebug、freebuf、吾爱破解、看雪论坛、阿里聚安全、PentesterLab、阿里云先知社区、四叶草安全等
挖洞一般提交给360补天、cnvd、教育漏洞平台、漏洞银行、wooyun、漏洞盒子众测平台
查找网上已曝光的程序漏洞。如果开源,还能下载相对应的源码进行代码审计
IS、Apache、nginx、Lighttpd、Tomcat、Weblogic、Jboss
敏感文件、二级目录扫描,站长的误操作等,比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点。
直接用7KB或破壳挂字典在网站二级目录/abc/下扫描敏感文件及目录。
二、扫描方式有:tcp connect()、TCP SYN scanning、TCP FIN scanning、Null scan等,详细解读可参考:https://blog.csdn.net/k851819815/article/details/104427922
三、绕过ping扫描参数为:nmap -Pn XXX.XXX.XXX.XXX
四、漏洞检测可直接nmap 目标 --script=auth,vuln
1报错注入 2bool型注入 3延时注入 4宽字节注入
SQL盲注分为三大类:基于布尔型SQL盲注、基于时间型SQL盲注、基于报错型SQL盲注
基于布尔型SQL盲注: XXX' and ascii(substr(database(),1,1))=112#
基于时间型SQL盲注: XXX' and sleep(x)#
1)如果是get注入,直接,sqlmap -u "注入点网址".
2) 如果是post注入,可以sqlmap –r "burp地址访问包”
3)如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用号替换,放到文件里,然后sqlmap -r "文件地址",记得加上—level 3参数
1、涵数过滤,如!is_numeric涵数 //判断变量id是否为数字
2、直接下载相关防范注入文件,通过incloud包含放在网站配置文件里面,如360、阿里云、腾迅提供的防注入脚本
3、使用白名单来规范化输入验证方法
4、采用PDO预处理 5、使用Waf拦截
/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts //记录每个访问计算机用户的公钥
/etc/passwd
/etc/shadow
/etc/my.cnf //mysql配置文件
/etc/httpd/conf/httpd.conf //apache配置文件
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/var/lib/mlocate/mlocate.db //全文件路径
/porc/self/cmdline //当前进程的cmdline参数
(1)过滤".",使用户在url中不能回溯上级目录
(2)正则严格判断用户输入参数的格式
(3)php.ini配置open_basedir限定文件访问范围
XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、输出时采用html实体编码。
CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer
XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。
CSRF是跨站请求伪造攻击,由客户端发起;
SSRF是服务器端请求伪造,由服务器发起;
重放攻击是将截获的数据包进行重放,达到身份认证等目的。
1、验证referer 2、验证token 3、增加验证码