12.如果让你渗透一个网站,你的思路是什么。
13.信息收集技术
14.如何判断是否有CDN。
15.如何绕过CDN
16.SQL注入原理与危害
16.1 SQL注入原理
16.2 SQL注入分类
(1)注入点的不同分类
- 数字类型的注入
- 字符串类型的注入
(2)提交方式的不同分类
- GET注入
- POST注入
- COOKIE注入
- HTTP注入
(3)获取信息的方式不同分类
- 基于布尔的盲注
- 基于时间的盲注
- 基于报错的注入
- 二次注入
- 宽字节注入
16.3 SQL注入防御
17.SQL注入判断注入点的思路
18.报错注入的函数有哪些?
代码语言:javascript复制extractvalue updatexml floor
19.SQL注入漏洞有哪些利用手法
20.Sql 注入无回显的情况下,利用 DNSlog,mysql 下利用什么构造代码,mssql 下又如何?
21.宽字节注入原理?如何利用宽字节注入漏洞,payload如何构造?
22.mysql 注入点,用工具对目标站直接写入一句话,需要哪些条件?
代码语言:javascript复制root 权限以及网站的绝对路径
23.盲注和延时注入的共同点?
都是一个字符一个字符的判断
24.mysql的网站注入,5.0 以上和 5.0 以下有什么区别?
代码语言:javascript复制5.0 以下没有 information_schema 这个系统表,无法列表名等,只能暴力跑表 名;5.0 以下是多用户单操作,5.0 以上是多用户多操做
25.文件上传漏洞原理,危害与防护
26.文件上传漏洞的绕过方法有哪些。
27.文件上传的时候如何突破前端后缀验证。
28.网站常见的文件上传点有哪些
29.xxe漏洞的原理。
30.xxe 注入有哪些危害以及防御?
30.1 危害
1.引用外部实体或者 当允许引用外部实体时,通过构造恶意内容
2.可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。对于不同 XML 解析器,对外部实体有不同处理规则,在 PHP 中默认处理的函数为: xml_parse
和 simplexml_load
xml_parse
的实现方式为 expat
库,默认情况不会解析外部实体,而 simplexml_load
默认情况下会解析外部实体,造成安全威胁.除 PHP
外,在 Java
,Python
等处理 xml
的组件及函数中都可能存在此问题
30.2 防御
使用开发语言提供的禁用外部实体的方法 过滤用户提交的 XML
数据
31.csrf漏洞原理,危害与防护
32.如何防止 CSRF?
- 验证 referer
- 验证 token
33.ssrf 以及 ssrf 的防御?
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统
防御
代码语言:javascript复制1.限制请求的端口为 HTTP 常用的端口,比如 80,443,8080,8088 等
2.黑名单内网 IP。
3.禁用不需要的协议,仅仅允许 HTTP 和 HTTPS
34.SSRF 禁用 127.0.0.1 后如何绕过,支持哪些协议?
35.XSS漏洞的分类,危害及防御
36.CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
36.1 XSS
XSS
是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。
修复方式:对字符实体进行转义、使用 HTTP Only
来禁止 JavaScript
读取 Cookie
值、输入时校验、浏览器与 Web 应用端采用相同的字符编码。
36.2 CSRF
CSRF
是跨站请求伪造攻击,XSS
是实现 CSRF
的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认
修复方式:筛选出需要防范 CSRF
的页面然后嵌入 Token
、再次输入密码、检验 Referer
36.3 XXE
XXE
是 XML
外部实体注入攻击,XML
中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。
修复方式:XML
解析库在调用时严格禁止对外部实体的解析。
37.xss权限驻留方法
利用xss维持网站后台权限前提是要有webshell
方法:我们找到网站后台登录后的文件,找到这个文件后在文件的最下面插入我们的xss语句,千万不要在后台登录页面插入,那样会有很多垃圾cookie,一定要插在网站登录后的页面,当有人进后台的时候就能接收到登陆者的cookie,我们可以利用cookie修改工具进行登录
38.有 shell 的情况下,如何使用 xss 实现对目标站的长久控制?
(1)后台登录处加一段记录登录账号密码的 js,并且判断是否登录成功,如果登录成功,就把账号密码记录到一个生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值并且需要深入控制权限的网络)
(2)在登录后才可以访问的文件中插入 XSS 脚本
39.文件包含漏洞可以用来做啥,以及需要主要注意的事项?
39.1作用
配合文件上传漏洞 GetShell
,可以执行任意脚本代码,网站源码文件以及 配置文件泄露,远程包含 GetShel
, 控制整个网站甚至是服务器
39.2注意事项
llow_url_fopen
和 allow_url_include
为 ON
的话,则包含的文件可以是 第三方服务器中的文件,这样就形成了远程文件包含漏洞/etc/passwd
需要 magic_quotes_gpc=off
,PHP 小于 5.3.4 有效
40.代码执行,文件读取,命令执行的函数都有哪些?
40.1 代码执行
代码语言:javascript复制eval,preg_replace /e,assert,call_user_func,call_user_func_array,create_function
40.2 文件读取
代码语言:javascript复制 file_get_contents(),highlight_file(),fopen(),read
file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等
40.3 命令执行
代码语言:javascript复制 system(), exec(), shell_exec(), passthru() ,pcntl_exec(),
popen(),proc_open()
41.WAF原理与绕过
41.1 waf工作原理
WAF工作方式是对接收到的数据包进行正则匹配过滤,如果正则匹配到与现有漏洞知识库的攻击代码相同,则认为这个恶意代码,从而对于进行阻断。所以,对于基于规则匹配的WAF,需要每天都及时更新最新的漏洞库。
41.2 waf工作工程
1.解析HTTP请求
对接收到数据请求流量时会先判断是否为HTTP/HTTPS请求,之后会查看此URL请求是否在白名单之内,如果该URL请求在白名单列表里,直接交给后端Web服务器进行响应处理,对于不在白名单之内的对数据包解析后进入到规则检测部分。
2.匹配规则
解析后的数据包会进入到检测体系中进行规则匹配,检查该数据请求是否符合规则,识别出恶意攻击行为。
3.防御动作
如果符合规则则交给后端Web服务器进行响应处理,对于不符合规则的请求会执行相关的阻断、记录、告警处理。
不同的WAF产品会自定义不同的拦截警告页面,在日常渗透中我们也可以根据不同的拦截页面来辨别出网站使用了哪款WAF产品,从而有目的性的进行WAF绕过。