1、拿到一个待检测的站或给你一个网站,你觉得应该先做什么?
一、信息收集
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总结报告及修复方案
2、你平时常去那些网站进行学习、挖漏洞提交到那些平台
一般去seebug、freebuf、吾爱破解、看雪论坛、阿里聚安全、PentesterLab、阿里云先知社区等
挖洞一般提交给360补天、cnvd、教育漏洞平台、漏洞银行、漏洞盒子众测平台
3 、判断出网站的CMS对渗透有什么意义?
查找网上已曝光的程序漏洞。如果开源,还能下载相对应的源码进行代码审计
4、常见的网站服务器容器(中间件)
IS、Apache、nginx、Lighttpd、Tomcat、Weblogic、Jboss
5、一个成熟并且相对安全的CMS,渗透时扫目录的意义?
敏感文件、二级目录扫描,站长的误操作等,比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点。
6、甲给你一个目标站,并且告诉你根目录下存在/abc/目录,并且此目录下存在编辑器和admin目录。请问你的想法是?
直接用7KB或破壳挂字典在网站二级目录/abc/下扫描敏感文件及目录。
7、在渗透过程中,收集目标站注册人邮箱对我们有什么价值?
丢社gongku里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。
用邮箱做关键词进行丢进搜索引擎。
利用搜索到的关联信息找出其他邮进而得到常用社交账号。
社工找出社交账号,里面或许会找出管理员设置密码的习惯 。
利用已有信息生成专用字典。
观察管理员常逛哪些非大众性网站,拿下它,你会得到更多好东西
8、Nmap主要功能有那些,扫描的几种方式、绕过ping扫描、漏洞检测等
一、4大功能:分别为主机发现(参数-sn)、端口扫描(-sS -sU)、版本侦测(–sV)、OS侦测(-O)
二、扫描方式有:tcp connect()、TCP SYN scanning、TCP FIN scanning、Null scan等
三、绕过ping扫描参数为:nmap -Pn XXX.XXX.XXX.XXX
四、漏洞检测可直接nmap 目标 --script=auth,vuln
9、sql注入的几种类型?
1报错注入 2bool型注入 3延时注入 4宽字节注入
10、延时注入如何来判断?
SQL盲注分为三大类:基于布尔型SQL盲注、基于时间型SQL盲注、基于报错型SQL盲注
基于布尔型SQL盲注: XXX’ and ascii(substr(database(),1,1))=112#
基于时间型SQL盲注: XXX’ and sleep(x)#
11、sqlmap,怎么对一个注入点注入?
1)如果是get注入,直接,sqlmap -u “注入点网址”.
如果是post注入,可以sqlmap –r "burp地址访问包”
3)如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用号替换,放到文件里,然后sqlmap -r “文件地址”,记得加上—level 3参数
12、SQL注入防护方法?
1、涵数过滤,如!is_numeric涵数 //判断变量id是否为数字
2、直接下载相关防范注入文件,通过incloud包含放在网站配置文件里面,如360、阿里云、腾迅提供的防注入脚本
3、使用白名单来规范化输入验证方法
4、采用PDO预处理 5、使用Waf拦截
13、常用中间件、数据库、第三方应用、操作系统默认配置文件是什么?
/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参数
14、任意文件下载防范方法有那些?
(1)过滤".",使用户在url中不能回溯上级目录
(2)正则严格判断用户输入参数的格式
(3)php.ini配置open_basedir限定文件访问范围
15、CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止JAVAScript读取Cookie值、输入时校验、输出时采用html实体编码。
CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer
XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。
16、CSRF、SSRF和重放攻击有什么区别?
CSRF是跨站请求伪造攻击,由客户端发起;
SSRF是服务器端请求伪造,由服务器发起;
重放攻击是将截获的数据包进行重放,达到身份认证等目的。
17、如何防止CSRF?
1、验证referer 2、验证token 3、增加验证码
18、逻辑漏洞的类型
1订单金额任意修改
2验证码回传
3未进行登录凭证验证
4接口无限制枚举
5cookie设计存在缺陷
6找回密码存在设计缺陷
7单纯读取内存值数据来当做用户凭证