渗透测试面试常见问题总结(连更七天)Day1

  最近是春招+校招,还有部分HW的师傅也在准备面试,在这里给大家准备了一些渗透测试面试常见的问题,帮助大家归类一下知识,方便师傅们查漏补缺,大家关注不迷路,与诸位共勉

目录

1、什么是sql注入

2、sql注入产生的原因/条件

3、sql注入的常见类型有哪些

4、sql注入有哪些绕过方法

5、sql注入的危害

6、预防sql注入的方法和原理

7、xss漏洞原理

8、xss漏洞分类

9、xss漏洞的危害有哪些

10、xss的绕过方法有哪些

11、xss的防范措施有哪些

12、响应码及其对用的含义

13、常见端口及其对应的服务与利用

14、常见数据库及其默认端口


1、什么是sql注入
SQL 注入是因为前端输入控制不严格造成的漏洞,使得攻击者可以输入对后端数据库有危害的字符串或符号,使得后端数据库产生回显或执行命令,从而实现对于数据库或系统的入侵

接收用户输入的数据,没有过滤或者过滤布严谨,被带入到数据库中去执行(简)
2、sql注入产生的原因/条件
1、用户对sql查询语句参数可控

2、原本程序要执行的SQL语句,拼接了用户输入的恶意数据


3、sql注入的常见类型有哪些
1、按照注入点类型来分  
    a、数字型注入
    b、字符型注入
    c、搜索型注入  

2、按照提交类型来分  
    a、GET注入
    b、POST注入
    c、COOKIE注入
    d、HTTP头部注入  

3、按照技巧分类的话  
    a、联合注入
    b、堆叠注入
    c、报错注入

4、按有没有回显
    a、布尔盲注
    b、时间盲注
4、sql注入有哪些绕过方法
1.大小写绕过注入

2.双写绕过注入

3.编码绕过注入

4.内联注释绕过注入
5、sql注入的危害
1.获取数据库数据

数据库中存放的用户的隐私信息的泄露,脱取数据库中的数据内容(脱库),可获取网站管理员帐号、密码悄无声息的进行对网站后台操作等。

2.网页篡改

通过操作数据库对特定网页进行篡改,严重影响正常业务进行与受害者信誉。

3.网页挂马

将恶意文件或者木马下载链接写入数据库,修改数据库字段值,进行挂马攻击。

4.篡改数据库数据

攻击数据库服务器,篡改或者添加普通用户或者管理员帐号。

5.获取服务器权限

列取目录、读取、写入shell文件获取webshell,远程控制服务器,安装后门,经由数据库服务器提供的操作系统支持,让攻击者得以修改或控制操作系统。
6、预防sql注入的方法和原理
1.预编译(数据库不会将参数的内容视为SQL命令执行,而是作为一个字段的属性值来处理)
2.PDO预处理 (本地和Mysql服务端使用字符集对输入进行转义)
3.正则表达式过滤 (如果用户输入了非法信息则利用正则表达式过滤)


7、xss漏洞原理
攻击者在Web页面中注入恶意的Script代码,当用户浏览该网页时,嵌入的Script代码会被执行,从而达到攻击的目的
8、xss漏洞分类
1、反射型XSS
2、存储型XSS
3、DOM型XSS


9、xss漏洞的危害有哪些
1、窃取cookie

2、抓取屏幕截图

3、获取键盘记录

4、重定向

5、植入广告,恶意链接

6、网页钓鱼

7、网页挂马

8、结合网页挂马或者其他工具(Metasploit)获取服务器或者操作系统权限
10、xss的绕过方法有哪些
1. 大小写转换;

2. 引号的使用;

3. 使用 / 代替空格;

4. 编码绕过(将字符进行十进制或者十六进制转码);

5.双写绕过;

6.使用制表符 换行符和回车符

7.使用 IMG 源


11、xss的防范措施有哪些
1、对用户的输入进行过滤

比如说添加黑名单或者白名单规则,比如说对& " ' / javascript import等敏感字符进行转义

2、使用 HttpOnly Cookie

如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样可以有效的防止XSS攻击窃取cookie。

3、设置X-XSS-Protection属性

该属性被所有的主流浏览器默认开启。X-XSS-Protection,即XSS保护属性,是设置在响应头中目的是用来防范XSS攻击的。在检查到XSS攻击时,停止渲染页面。

4、开启CSP网页安全策略

CSP是网页安全策略(Content Security Policy)的缩写。开启策略后可以起到以下作用:禁止加载外域代码,防止复杂的攻击逻辑;禁止外域提交,网站被攻击后,用户的数据不会泄露到外域;禁止内联脚本执行(规则较严格,目前发现 GitHub 使用);禁止未授权的脚本执行(新特性,Google Map 移动版在使用)。合理使用上报可以及时发现 XSS,利于尽快修复问题。

5、避免内联事件

尽量不要使用 onLoad=“onload(’{{data}}’)”、onClick=“go(’{{action}}’)” 这种拼接内联事件的写法。在 JavaScript 中通过 .addEventlistener() 事件绑定会更安全。

6、使用模板引擎

开启模板引擎自带的 HTML 转义功能。例如: 在 ejs 中,尽量使用 而不是 ; 在 doT.js 中,尽量使用 {{! data } 而不是 {{= data }; 在 FreeMarker 中,确保引擎版本高于 2.3.24。
12、响应码及其对用的含义
1xx:信息提示。表示请求已接收,继续处理。

2xx:成功。表示请求已成功被服务器接收、理解、并接受。

200:成功响应。请求已成功被服务器处理后,返回的结果。

201:已创建。请求成功创建资源。

202:已接受。一种用于表示一个操作已被接受的系统回应。

3xx:重定向。表示需要采取进一步的操作才能完成请求。重定向到不同的资源页面可能会有所不同。

301:永久移动。资源位置被永久地移动到了新的地址,并且未来对当前资源的引用将指向新的位置。

302:临时移动。临时性地移动了资源到另一个位置,原始资源仍然可用。

4xx:客户端错误。表示请求包含错误或无法被服务器理解,应由客户端处理。

400:错误请求。请求有语法错误,服务器无法理解请求的格式。

401:未授权请求。请求未经授权,服务器可能要求进行身份验证。

403:禁止访问。服务器配置阻止了请求访问资源,通常由于权限问题。

404:资源未找到。请求的资源未被找到或无法被找到,通常表示请求的URL路径错误或不存在。

5xx:服务器错误。表示服务器在处理请求时发生错误,应由服务器处理。

500:服务器内部错误。服务器在处理请求时发生了某些内部错误。

503:服务不可用。服务器当前暂时无法使用,可能会暂时过载或正在进行维护。
13、常见端口及其对应的服务与利用
端口:21 服务:FTP/TFTP/VSFTPD 利用:爆破/嗅探/溢出/后门
端口:22 服务:ssh远程连接 利用:爆破/openssh漏洞
端口:23 服务:Telnet远程连接 利用:爆破/嗅探/弱口令
端口:25 服务:SMTP邮件服务 利用:邮件伪造
端口:53 服务:DNS域名解析系统 利用:域传送/劫持/缓存投毒/欺骗
端口:67/68 服务:dhcp服务 利用:劫持/欺骗
端口:110 服务:pop3 利用:爆破/嗅探
端口:139 服务:Samba服务 利用:爆破/未授权访问/远程命令执行
端口:143 服务:Imap协议 利用:爆破161SNMP协议爆破/搜集目标内网信息
端口:389 服务:Ldap目录访问协议 利用:注入/未授权访问/弱口令
端口:445 服务:smb 利用:ms17-010/端口溢出
端口:512/513/514 服务:Linux Rexec服务 利用:爆破/Rlogin登陆
端口:873 服务:Rsync服务 利用:文件上传/未授权访问
端口:1080 服务:socket 利用:爆破
端口:1352 服务:Lotus domino邮件服务 利用:爆破/信息泄漏
端口:1433 服务:mssql 利用:爆破/注入/SA弱口令
端口:1521 服务:oracle 利用:爆破/注入/TNS爆破/反弹shell2049Nfs服务配置不当
端口:2181 服务:zookeeper服务 利用:未授权访问
端口:2375 服务:docker remote api 利用:未授权访问
端口:3306 服务:mysql 利用:爆破/注入
端口:3389 服务:Rdp远程桌面链接 利用:爆破/shift后门
端口:4848 服务:GlassFish控制台 利用:爆破/认证绕过
端口:5000 服务:sybase/DB2数据库 利用:爆破/注入/提权
端口:5432 服务:postgresql 利用:爆破/注入/缓冲区溢出
端口:5632 服务:pcanywhere服务 利用:抓密码/代码执行
端口:5900 服务:vnc 利用:爆破/认证绕过
端口:6379 服务:Redis数据库 利用:未授权访问/爆破
端口:7001/7002 服务:weblogic 利用:java反序列化/控制台弱口令
端口:80/443 服务:http/https 利用:web应用漏洞/心脏滴血
端口:8069 服务:zabbix服务 利用:远程命令执行/注入
端口:8161 服务:activemq 利用:弱口令/写文件
端口:8080/8089 服务:Jboss/Tomcat/Resin 利用:爆破/PUT文件上传/反序列化
端口:8083/8086 服务:influxDB 利用:未授权访问
端口:9000 服务:fastcgi 利用:远程命令执行
端口:9090 服务:Websphere 利用:控制台爆破/java反序列化/弱口令
端口:9200/9300 服务:elasticsearch 利用:远程代码执行
端口:11211 服务:memcached 利用:未授权访问
端口:27017/27018 服务:mongodb 利用:未授权访问/爆破
14、常见数据库及其默认端口
一、关系型数据库
1、MySql数据库 ,默认端口是: 3306

2、Oracle数据库 ,默认端口号为:1521

3、Sql Server数据库 ,默认端口号为:1433

4、DB2数据库, 默认端口号为:5000

5、PostgreSQL数据库, 默认端口号为:5432

6、国产的DM达梦数据库, 默认端口号为:5236


二、NoSql数据库(非关系型数据库)
1.Redis数据库,默认端口号:6379

2.Memcached数据库,默认端口号:11211 

3.MongoDB数据库,默认端口号:27017

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值