记一次渗透测试面试题


1、DOM型XSS和反射型XSS的区别;

答:基于DOM的XSS,涉及的两个层次不是服务器端和浏览器端,而是浏览器端的JavaScript层和HTML层。DOM型XSS不与后端交互。

2、DOM型XSS的成因;

答:a、 数据通过一个不可信赖的数据源进入 Web 应用程序。对于基于 DOM 的 XSS,将从 URL 参数或浏览器中的其他值读取数据,并使用客户端代码将其重新写入该页面。

b、未检验包含在动态内容中的数据,便将其传送给了 Web 用户。对于基于 DOM 的 XSS,任何时候当受害人的浏览器解析 HTML 页面时,恶意内容都将作为 DOM(文档对象模型)创建的一部分执行。

3、反射型XSS的修复方法有哪些?

答:建议过滤的关键字为:

[1] ' 单引号

[2] " 双引号

[3] / 斜杠

[4]  反斜杠

[5] ) 括号

[6] ; 分号

[7] [ 中括号

[8] < 尖括号

[9] > 尖括号

比如把<编码为&‌lt;

在cookie中加入httponly属性可以在一定程度上保护用户的cookie,减少出现XSS时损失。

4、XXE原理介绍

答:XXE就是 XML 外部实体注入攻击。漏洞是在对非安全的外部实体数据进⾏行处理时引发的安全问题。当应用是通过用户上传的XML文件或POST请求进行数据的传输,并且应用没有禁止XML引用外部实体,也没有过滤用户提交的XML数据,那么就会产生XML外部实体注入漏洞,即XXE漏洞

5、XXE可以进行的攻击(利用xxe漏洞可以进行拒绝服务攻击,文件读取,命令(代码)执行,SQL(XSS)注入,内外扫描端口,入侵内网站点等,内网探测和入侵是利用xxe中支持的协议进行内网主机和端口发现,可以理解是使用xxe进行SSRF的利用,基本上啥都能做了,一般xxe利用分为两大场景:有回显和无回显。有回显的情况可以直接在页面中看到Payload的执行结果或现象,无回显的情况又称为blind xxe,可以使用外带数据通道提取数据)

a、任意文件读取(etc/passwd等敏感文件);

b、探测内网地址

c、DOS攻击

d、远程命令执行

6、csrf原理介绍、怎么利用

答:原理 该攻击可以在用户毫不知情的情况下以用户自身的名义伪造请求发送给受攻击站点,从而在未授权的情况下执行在权限保护之下的操作。

利用:视面试时情况。

7、SQL注入如何测试

答:问 盲注手工测试参考8

8、sql注入时间注入的方法,时间注入方法的优化

答:192.168.3.10/sqli/Less-9/?id=1’ and if(length(database())=7,sleep(6),1)–+
如果数据库的长度等于7的话,睡6s,否则返回1——》执行后发现没有沉睡6s,等式不成立。

192.168.3.10/sqli/Less-9/?id=1’ and if(ascii(substr(select database(),1,1))=115,sleep(6),1)–+

如果ASCII是115则睡6s,否则返回1——》发现一直在回显——》数据库名的第一个字符的ASCII为115(s)

优化的话sqlmap的threads参数,即线程调高点。

找到settings.py文件,具体在libcore目录下找到

# Maximum number of threads (avoiding connection issues and/or DoS)
MAX_NUMBER_OF_THREADS = 10
将MAX_NUMBER_OF_THREADS = 10
修改为MAX_NUMBER_OF_THREADS = 1000

9、redis的ssrf利用方式

参考这个 https://blog.csdn.net/god_zzZ/article/details/105023855

10、如何利用ssrf判断存在redis服务

a、更改IP地址写法

例如192.168.0.1这个IP地址我们可以改写成:

(1)、8进制格式:0300.0250.0.1

(2)、16进制格式:0xC0.0xA8.0.1

(3)、10进制整数格式:3232235521

(4)、16进制整数格式:0xC0A80001

还有一种特殊的省略模式,例如10.0.0.1这个IP可以写成10.1

b、利用解析URL所出现的问题(http://www.baidu.com@192.168.0.1/)

c、利用302跳转

如果后端服务器在接收到参数后,正确的解析了URL的host,并且进行了过滤,我们这个时候可以使用302跳转的方式来进行绕过。

(1)、在网络上存在一个很神奇的服务,http://xip.io 当我们访问这个网站的子域名的时候,例如192.168.0.1.xip.io,就会自动重定向到192.168.0.1。

(2)、由于上述方法中包含了192.168.0.1这种内网IP地址,可能会被正则表达式过滤掉,我们可以通过短地址的方式来绕过。经过测试发现新浪,百度的短地址服务并不支持IP模式,所以这里使用的是http://tinyurl.com所提供的短地址服务,如下图所示:

同样的,我们也可以自行写一个跳转的服务接口来实现类似的功能。

d、通过各种非HTTP协议(GOPHER协议、File协议等)

e、DNS Rebinding

参考:https://www.cnblogs.com/tomyyyyy/articles/13675232.html

11、ssrf的内网探测方式

参考:https://blog.csdn.net/u012206617/article/details/108941738

12、sql注入mysql数据库,都有哪些提权方法?

https://www.cnblogs.com/Dr-STranger/p/14542327.html

13、DOM型xss如何修复,给开发的具体修复建议

将代码中某个参数获取到的内容由进行html解析变为text纯文本解析

14、富文本编辑器的xss如何防御

答:其实富文本编辑器已经有防止xss注入功能,但是你服务端程序在接收的时候在做一次转义,否则有可能然后前端验证直接提交数据导致被xss攻击。

为了节省后端程序开销则在前端 显示的时候在此对代码进行编码,防止xss攻击。

网上搜索有实现类:测试地址http://jsxss.com/en/try.html

15、jsonp漏洞

答:参考https://xz.aliyun.com/t/5143

原文地址:https://www.cnblogs.com/xyz315/p/15061697.html