目录
1.先来个自我介绍
2.讲一下TOP10都有哪些
3.SQL注入的原理和漏洞产生的原因?
4.SQL注入的类型
5.简单讲一下防范SQL注入的方法和原理
6.SQL注入有哪些绕过姿势?
7.SQL注入攻击有哪些危害?
6.XSS(跨站脚本攻击)的原理和类型?
7.XSS的绕过方法?
8.XSS的利用方式(危害)?
9.XSS的防范措施?
10.CSRF(跨站请求伪造)漏洞原理?
11.CSRF(跨站请求伪造)漏洞的类型?
12.CSRF(跨站请求伪造)漏洞的危害?
13.CSRF(跨站请求伪造)攻击的防范措施?
14.SSRF(服务器端请求伪造)漏洞原理?
15.SSRF(服务器端请求伪造)漏洞经常存在的位置?
16.SSRF(服务器端请求伪造)漏洞绕过手法?
17.SSRF(服务器端请求伪造)漏洞的危害?
18.SSRF(服务器端请求伪造)漏洞的防范手段?
19.XXE(XML 外部实体注入)漏洞的原理?
20.怎样构建XXE(XML外部实体注入)攻击?
21.XXE(XML 外部实体注入)漏洞的危害?
22.XXE(XML 外部实体注入)漏洞的防范?
23.文件上传漏洞的原理?
24.文件上传漏洞绕过手法?
25.文件上传漏洞的危害?
26.文件上传漏洞的防范措施?
27.了解过WAF吗?
28.绕过WAF的姿势?
29.你在渗透测试中常用的工具?
30.使用过哪些安全设备?
31.常见的中间件和相关的漏洞有哪些?
32.常见的端口和相关的服务?
33.常见的数据库及对应端口?
34.为何一个mysql数据库的站,只有一个80端口开放?
35.3389(远程连接)无法连接的几种情况?
36.判断出网站的CMS对渗透有什么意义?
37.如何判断目标操作系统?
38.常见代码执行、文件读取、命令执行的函数有哪些?
39.木马驻留系统的方式有哪些?
40.蚁剑/菜刀/C刀/冰蝎的相同与不相同之处?
41.内网渗透思路?
42.Windows常用的提权方法?
43.Linux常用的提权方法?
44.正向代理和反向代理的区别?
45.正向shell和反向shell的区别?
46.序列化与反序列化的区别?
47.蓝队常用的反制手段有哪些?
48.如何通过流量来分析安全事件?
49.了解过鱼叉攻击和水坑攻击吗?
50.简单讲一下制作木马免杀的思路
51.信息收集具体收集什么信息
52.怎么验证是否存在CDN?
53.怎么绕过CDN找到真实IP?
54.怎么验证找到的IP是否为真实IP
55.研判的思路?(安全事件的研究判断)
56.应急响应的思路?
57.溯源反制思路?
58.Windows系统应急响应中常用的指令?
59.Linux系统应急响应中常用的指令?
1.先来个自我介绍
答:略(给人第一印象,挺重要的,建议好好总结)
2.讲一下TOP10都有哪些
答:
1.失效的访问控制
2.加密机制失效
3.注入(包括跨站脚本攻击XSS和SQL注入等)
4.不安全设计
5.安全配置错误
6.自带缺陷和过时的组件
7.身份识别和身份验证错误
8.软件和数据完整性故障
9.安全日志和监控故障
10.服务端请求伪造SSRF
此处owasp top 10 是2021年版的,一般情况下top10四年更新一次,目前最新的版本就是2017年版和2021年版。有些博客上写的2022年版的其实是2013年版的,看到的可以顺手举报一手。这里附上官方链接
3.SQL注入的原理和漏洞产生的原因?
答:
SQL注入原理:
通过某种方式将恶意的sql代码添加到输入参数中,然后传递到sql服务器使其解析并执行的一种攻击手法
漏洞产生原因(实现条件):
- 用户对sql查询语句参数可控
- 原本程序要执行的SQL语句,拼接了用户输入的恶意数据
4.SQL注入的类型
答:
1.联合注入
2.堆叠注入
3.宽字节注入
4.cookie注入
5.XFF头注入
6.UA注入(user-agent注入)
7.Referer注入
8.二次注入
9.base64注入
11.万能密码
12.文件读写
盲注类型:
1.基于时间的盲注 sleep() benchmark()
2.基于布尔的注入
3.基于报错的注入 updatexml() extractvalue() floor() exp()
5.简单讲一下防范SQL注入的方法和原理
答:
1.预编译 (数据库不会将参数的内容视为SQL命令执行,而是作为一个字段的属性值来处理)
2.PDO预处理 (本地和Mysql服务端使用字符集对输入进行转义)
3.正则表达式过滤 (如果用户输入了非法信息则利用正则表达式过滤)
6.SQL注入有哪些绕过姿势?
答:
1.大小写绕过注入
2.双写绕过注入
3.编码绕过注入
4.内联注释绕过注入
7.SQL注入攻击有哪些危害?
答:
- 获取数据库数据
数据库中存放的用户的隐私信息的泄露,脱取数据库中的数据内容(脱库),可获取网站管理员帐号、密码悄无声息的进行对网站后台操作等。
- 网页篡改
通过操作数据库对特定网页进行篡改,严重影响正常业务进行与受害者信誉。
- 网页挂马
将恶意文件或者木马下载链接写入数据库,修改数据库字段值,进行挂马攻击。
- 篡改数据库数据
攻击数据库服务器,篡改或者添加普通用户或者管理员帐号。
- 获取服务器权限
列取目录、读取、写入shell文件获取webshell,远程控制服务器,安装后门,经由数据库服务器提供的操作系统支持,让攻击者得以修改或控制操作系统。
6.XSS(跨站脚本攻击)的原理和类型?
答:
原理:
攻击者在Web页面中注入恶意的Script代码,当用户浏览该网页时,嵌入的Script代码会被执行,从而达到攻击的目的。
XSS类型:
- 反射型XSS
- 存储型XSS
- DOM型XSS
7.XSS的绕过方法?
答:
1. 大小写转换;
2. 引号的使用;
3. 使用 / 代替空格;
4. 编码绕过(将字符进行十进制或者十六进制转码);
5.双写绕过;
6.使用制表符 换行符和回车符
7.使用 IMG 源
8.XSS的利用方式(危害)?
答:
- 窃取cookie
- 抓取屏幕截图
- 获取键盘记录
- 重定向
植入广告,恶意链接
- 网页钓鱼
- 网页挂马
- 结合网页挂马或者其他工具(Metasploit)获取服务器或者操作系统权限
9.XSS的防范措施?
答:
- 对用户的输入进行过滤
比如说添加黑名单或者白名单规则,比如说对& " ' / expression javascript import等敏感字符进行转义
- 使用 HttpOnly Cookie
如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样可以有效的防止XSS攻击窃取cookie。
response.addHeader("Set-Cookie", "uid=112; Path=/; HttpOnly");
-
设置X-XSS-Protection属性
该属性被所有的主流浏览器默认开启。X-XSS-Protection,即XSS保护属性,是设置在响应头中目的是用来防范XSS攻击的。在检查到XSS攻击时,停止渲染页面。
header("X-XSS-Protection: 1");
-
开启CSP网页安全策略
CSP是网页安全策略(Content Security Policy)的缩写。开启策略后 可以起到以下作用
禁止加载外域代码,防止复杂的攻击逻辑。
禁止外域提交,网站被攻击后,用户的数据不会泄露到外域。
禁止内联脚本执行(规则较严格,目前发现 GitHub 使用)。
禁止未授权的脚本执行(新特性,Google Map 移动版在使用)。
合理使用上报可以及时发现 XSS,利于尽快修复问题。
- 避免内联事件
尽量不要使用 onLoad=“onload(’{{data}}’)”、onClick=“go(’{{action}}’)” 这种拼接内联事件的写法。在 JavaScript 中通过 .addEventlistener() 事件绑定会更安全。
- 使用模板引擎
开启模板引擎自带的 HTML 转义功能。例如: 在 ejs 中,尽量使用 而不是 ; 在 doT.js 中,尽量使用 {{! data } 而不是 {{= data }; 在 FreeMarker 中,确保引擎版本高于 2.3.24。
10.CSRF(跨站请求伪造)漏洞原理?
答:
web应用程序在用户进行敏感操作时,如修改账号密码、添加账号、转账等,没有校验表单token或者http请求头中的referer值,从而导致恶意攻击者利用普通用户的身份(cookie)完成攻击行为。
受害者A登录网站,攻击者B构造有效链接诱导受害者A访问,网站在线期间会将该请求当做正常业务执行。(比如修改密码,向某用户转账等业务,当然现在这种简单的EXP基本上见不到,拿靶场验证一下用于理解原理就行了)
11.CSRF(跨站请求伪造)漏洞的类型?
答:
- GET类型
- POST类型
比如在一个页面中构造好一个表单表单,将这个页面隐藏在一个不可见的iframe窗口中,然后使用JavaScript自动提交这个表单,在整个过程中,对于用户来说是不可见的。当用户访问该页面后,表单会自动提交,相当于模拟用户完成了一次POST操作
12.CSRF(跨站请求伪造)漏洞的危害?
- 盗用其他用户或者管理员的账号
- 获取个人隐私或者机密资料
- 联合其他漏洞组合拳
比如说拿到管理员账号之后,我们在某个页面利用XSS漏洞进行网页挂马,普通用户访问后就会下载木马程序,进而联合MSF或者CS等工具getshell。再比如说你把管理员密码还原一下,真正管理员登录的时候也会受到网页挂马的影响,结合工具可以进一步拿下管理员主机权限。
13.CSRF(跨站请求伪造)攻击的防范措施?
答:
- 验证码验证
验证码被认为是对抗CSRF攻击最简洁而有效的防御方法。
CSRF攻击的过程,往往是在用户不知情的情况下构造了网络请求。而验证码,则强制用户必须与应用进行交互,才能完成最终请求。因此在通常情况下,对用户执行敏感操作时进行验证,就能够很好地遏制CSRF攻击。
但是验证码并非万能。很多时候,出于用户体验考虑,网站不能给所有的操作都加上验证码。因此,验证码只能作为防御CSRF的一种辅助手段,而不能作为最主要的解决方案。
- 在请求地址中添加 token 并验证
CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于 cookie 中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。
要抵御 CSRF关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。
可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。
- 验证 HTTP头的Referer 字段
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,头信息里会包含Referer。
比如我在www.google.com 里有一个
www.baidu.com
链接,那么点击这个链接,它的头信息里就会有:Referer=http://www.google.com
通过验证Referer,可以判断请求的合法性,如果Referer是其他网站的话,就有可能是CSRF攻击,则拒绝该请求。
- 在 HTTP 头中自定义属性并验证
这种方法也是使用 token 并进行验证,和上一种方法不同的是,这里并不是把 token 以参数的形式置于 HTTP 请求之中,而是把它放到 HTTP 头中自定义的属性里。通过 XMLHttpRequest 这个类,可以一次性给所有该类请求加上 csrftoken 这个 HTTP 头属性,并把 token 值放入其中。这样解决了上种方法在请求中加入 token 的不便,同时,通过 XMLHttpRequest 请求的地址不会被记录到浏览器的地址栏,也不用担心 token 会透过 Referer 泄露到其他网站中去。
缺陷是要采用这种方法来进行防护,要把所有请求都改为 XMLHttpRequest 请求,就意味着可能要重写整个网站,这代价无疑是不能接受的。
14.SSRF(服务器端请求伪造)漏洞原理?
答:
当攻击者想要访问服务器B上的服务,但是由于存在防火墙或者服务器B是属于内网主机等原因导致攻击者无法直接访问。如果服务器A存在SSRF漏洞,这时攻击者可以借助服务器A来发起SSRF攻击,通过服务器A向主机B发起请求,达到攻击内网的目的。
15.SSRF(服务器端请求伪造)漏洞经常存在的位置?
答:
- 分享:通过URL地址分享网页内容
- 转码服务
- 在线翻译
- 图片加载与下载:通过URL地址加载或下载图片
- 图片、文章收藏功能
- 未公开的api实现以及其他调用URL的功能
16.SSRF(服务器端请求伪造)漏洞绕过手法?
答:
-
利用@绕过限制白名单域名
利用@,当网站限制只能访问
http://www.xxx.com
类型的域名时,可以采用http基本身份认证的方式绕过,如:http://www.xxx.com@www.xxc.com
-
绕过限制白名单内网IP
- 采用短网址绕过
- 利用特殊域名,xip.io可以指向任意域名(原理是DNS解析),即 127.0.0.1.xip.io,可以解析为127.0.0.1
- 采用进制转换,127.0.0.1 八进制:
0177.0.0.1
;十六进制:0x7f.0.0.1
;十进制:2130706433
- 利用
[::]
,http://[::]:80/
会解析为http://127.0.0.1
- 添加端口号,http://127.0.0.1:8080
- 利用句号,如
127。0。0。1
会解析为 127.0.0.1- 采用302跳转
-
绕过限制请求http协议
- 采用302跳转
- 采用短地址
17.SSRF(服务器端请求伪造)漏洞的危害?
答:
-
对外网、服务器所在内网、本地进行端口扫描
-
向内部任意主机的任意端口发送payload来攻击内网服务
-
DOS攻击(请求大文件,始终保持连接Keep-Alive Always)
-
攻击内网的web应用,如直接SQL注入、XSS攻击等
-
利用file、gopher、dict协议读取本地文件、执行命令等
-
可以无视网站CDN
18.SSRF(服务器端请求伪造)漏洞的防范手段?
答:
- 禁止跳转
- 过滤返回的信息
如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
- 统一错误信息
避免用户可以根据错误信息来判断远程服务器的端口状态。
- 限制请求的端口
比如80,443,8080,8090。
- 禁止除HTTP和HTTPS外的协议
比如说仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp://请求等引起的问题。
- 对请求地址设置白名单或者限制内网IP
19.XXE(XML 外部实体注入)漏洞的原理?
答:
XML 文件在引用外部实体时候,可以沟通构造恶意内容,可以导致读取任意文件,命令执行和对内网的攻击
20.怎样构建XXE(XML外部实体注入)攻击?
答:
1.直接通过DTD外部实体声明
2.通过DTD文档引入外部DTD文档,再引入外部实体声明
3.通过DTD外部实体声明引入外部实体声明
21.XXE(XML 外部实体注入)漏洞的危害?
答:
- 任意文件读取
- 系统命令执行
- 执行远程代码
- DOS拒绝服务攻击
- 内网端口探测
- 攻击内网网站
- 钓鱼
22.XXE(XML 外部实体注入)漏洞的防范?
答:
●禁用外部实体的引入
比如PHP语言中使用libxml_disable_entity_loader(true);等方式。
Python语言中使用
from lxml import etree xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
●过滤如SYSTEM等敏感关键字,防止非正常、攻击性的外部实体引入操作。
23.文件上传漏洞的原理?
答:
Web页面中文件上传功能没有对上传的文件做合理严谨的过滤,导致用户可以利用此功能,上传能被服务端解析执行的文件,并通过此文件获得执行服务端命令的能力。
24.文件上传漏洞绕过手法?
答:
- 前端JS禁用绕过
在前端页面禁用JS,当然也有可能影响正常页面显示却没用
- 简单修改后缀名绕过
如果只是前端页面限制上传的文件后缀名,那么我们就可以利用burp suite等工具修改文件后缀名绕过。
- 抓包修改MIME类型
常见图片MIME类型:
image/gif
,image/png
,image/jpeg
,image/bmp
,image/webp
,image/x-icon
,image/vnd.microsoft.icon
服务端代码是通过Content-Type的值来判断文件的类型,这样我们可以直接对文件的Content-Type值进行修改来绕过。
- 后缀名大小写绕过
如果源代码没有对文件后缀名进行大小写转换,那么只要更改文件名后缀大小写即可绕过黑名单
- 图片马绕过
使用edjpgcom等工具或者命令将图片和WebShell制作成一个图片马
- GIF89a图片头文件欺骗
比如GIF89a,在webshell前面加上GIF89a,后台认为是图片,上传后再执行木马,更有效的做法是结合其他绕过方法更有针对性的绕过。
- %00,0x00截断
比如修改文件名为 1.php%00.jpg,如果php 版本<5.3.4 在url中%00表示ascll码的0 ,而ascii码的0,表示字符串结束,所以当url中出现%00时就会认为读取已结束,最后会被解析为 1.php,从而实现绕过
-
.htaccess文件绕过
.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过.htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
比如说在htaccess文件中有如下内容
AddType application/x-httpd-php .png 那我们随后上传png后缀图片马即可绕过
-
.user.ini.绕过
.user.ini
文件里的意思是:所有的php文件都自动包含指定的文件,比如说某网站限制不允许上传.php文件,你便可以上传一个.user.ini,再上传一个图片马,包含起来进行getshell。不过前提是含有.user.ini的文件夹下需要有正常的php文件,否则也不能包含了。 再比如,你只是想隐藏个后门,这个方式是最方便的。
- 条件竞争绕过
一些网站上传文件的逻辑是先允许上传任意文件,然后检查上传的文件是否包含webshell脚本,如果包含则删除该文件。这里存在的问题是文件上传成功后和删除文件之间存在一个短的时间差(因为要执行检查文件和删除文件的操作),攻击者可以利用这个短的时间差完成条件竞争的上传漏洞攻击。比如上传一个php文件里面这样写
<?php
fputs(fopen('../shell.php','w'),'');
?>
- ::$DATA绕过
在php代码中没有对::$DATA进行过滤,在windows中会将文件名::$DATA之后的数据当成文件流处理,保持::$DATA之前的文件名
假设上传的文件为test9.php::$DATA.jpg,如果成功上传到服务器就会去掉::$DATA.jpg变成test9.php进行保存
但是php代码中还通过strrchr函数获取文件后缀.jpg,并以该后缀作为上传之后的文件后缀
所以test9.php::$DATA.jpg上传到服务器后缀仍然是.jpg
- 点+空格+点绕过
某些情况下,源代码先是去除文件名前后的空格,再去除文件名最后所有的
.
,再通过strrchar函数来寻找.
来确认文件名的后缀,但是最后保存文件的时候没有重命名而使用的原始的文件名,导致可以利用1.php. .(点+空格+点)来绕过
- 后缀名双写绕过
黑名单过滤,将黑名单里的后缀名替换为空且只替换一次,因此可以用双写绕过,比如1.pphphp,后端源代码过滤掉红色标注部分,剩余1.php。
-
特殊可解析后缀绕过
源代码有黑名单限制,那么我们就可以修改文件后缀名为根据后端的脚本语言能够解析的文件后缀,比如源代码是用php语言写的话,1.php1会被解析为1.php
PhP除了可以解析php后缀 还可以解析php1,php2,php3,php4 ,phtml等 Asp可解析 asa,cer,cdx Aspx可解析 ashx,asmx,ascx Jsp可解析jspx、jspf然而这种绕过方法可能会让我们绕过成功,但服务器默认配置却可能不允许这些后缀的文件执行
- 二次渲染绕过
说不清楚,放链接
25.文件上传漏洞的危害?
答:
- 上传webshell,控制服务器、远程命令执行
- 上传系统病毒、木马文件进行挖矿、僵尸网络
- 进行提权操作
- 修改web页面,实现钓鱼、挂马等操作。
- 进行内网渗透。
26.文件上传漏洞的防范措施?
答:
- 文件上传的目录设置为不可执行
只要web容器无法解析该目录下面的文件,即使攻击者上传了脚本文件,服务器本身也不会受到影响,因此这一点至关重要。
- 严格判断文件类型
在判断文件类型时,可以结合使用MIME Type、后缀检查等方式。在文件类型检查中,强烈推荐白名单方式,黑名单的方式已经无数次被证明是不可靠的。此外,对于图片的处理,可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的HTML代码。
- 使用随机数修改文件名和文件路径
文件上传如果要执行代码,则需要用户能够访问到这个文件。在某些环境中,用户能上传,但不能访问。如果应用了随机数改写了文件名和路径,将极大地增加攻击的成本。再来就是像shell.php.rar.rar和crossdomain.xml这种文件,都将因为重命名而无法攻击。
- 单独设置文件服务器的域名
由于浏览器同源策略的关系,一系列客户端攻击将失效,比如上传crossdomain.xml、上传包含Javascript的XSS利用等问题将得到解决。
- 内容检测
有效防范图片马和文件二次渲染
- 安全加固中间件
及时更新并加固中间件,可以有效避免因为中间件的漏洞而导致的文件上传漏洞,比如某些中间件以前的版本很多都具有文件解析漏洞
- 采用WAF等安全防护设备
采用WAF等安全防护设备可以有效的防御常见漏洞
27.了解过WAF吗?
答:
概念:
Web应用防火墙,简称WAF,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一种产品,一般部署在Web服务器之前,用来保护Web应用。
主要功能:
WAF主要是通过内置的很多安全规则 来进行防御。
可防护常见的SQL注入、XSS、网页篡改、中间件漏洞等OWASP TOP10攻击行。
具有威胁感知能力,当发现攻击后,可将IP进行锁定,IP锁定之后将无法访问网站业务。
也支持防止CC攻击,采用集中度和速率双重检测算法。
不具备的功能:(给你加深一下影响,防止你想不起来就乱猜)
- WAF不能过滤其他协议流量,如FTP、PoP3协议
- WAF不能实现传统防护墙功能,如地址映射
- WAF不能防止网络层的DDoS攻击
- WAF不能防病毒
28.绕过WAF的姿势?
答:
- 通配符?,*
在bash shell中,问号(?)表示通配符,可以替换任意的单个字符(非空),*表示通配符,可以匹配任意长度(包括空)。例如下面的命令与/usr/sbin/cat /etc/passwd是等价的
/usr/s?in/?at /et?/pass?d
- 大小写变种
特征库在编写正则表达式时,可能忽略了对大写的校验。例如select.*from,从而让Select from轻松绕过,正确的写法时,在任何防护的正则表达式前都加上(?i),表示后面的正则表达式匹配均忽略大小写。
- 内联注释/**/
在SQL查询语句中加入注释,例如select/**/from,当WAF不摘除注释而去匹配正则表达式时,可能会匹配不上,从而绕过。
- 干扰字符污染法
使用空字符、空格、TAB换行、注释、特殊的函数等等都可以。比如在SQL注入时select/*!*/`version`(); 利用网站使用的语言函数特性来绕过WAF的规则或者使用会无视的字符。
- 字符编码法
就是对一些字符进行编码,常见的SQL编码有unicode、HEX、URL、ascll、base64等,XSS编码有:HTML、URL、ASCII、JS编码、base64等等,利用浏览器上的进制转换或者语言编码规则来绕过WAF,比如XSS攻击
- 双写,嵌套,拼凑法
如果过滤了某些字符串,我们可以在他们两边加上“原有字符串”的一部分。利用WAF的不完整性,只验证一次字符串或者过滤的字符串并不完整。比如这样
SQL: selselectect verversionsion();
XSS: <scrrip>alalertert</scrrip>
- 多请求拆分绕过
对于多个参数的语句,可以将注入语句分割插入。
如这样的请求:?a=[inputa]&b=[inputb]
可将参数a和b拼接如:
and a=[inputa] and b=[inputb]
- 利用cookie绕过
对于用了$_REQUEST来获取参数的网站可以尝试将payload放在cookie中进行绕过REQUEST会依次从GET POST cookie中获取参数,如果WAF只检测了GET/POST而没有检测cookie,可以将语句放在cookie中进行绕过。
- 利用溢量数据绕过WAF
这种绕过方法利用的是通过提交非常大的数据,由于数据量过大,超过了WAF的正则匹配字符,我们的恶意代码就不经过WAF的正则匹配了,因此我们的恶意代码就可以绕过了。
- 云WAF绕过之寻找网站源ip
采用云WAF的网站可以寻找网站真实ip来绕过云WAF的检测。
- 其他
还有吗,多的是,不过我看不明白了,不写了,我是初级我骄傲
29.你在渗透测试中常用的工具?
答:
- 信息收集
Nmap,Fofa,Shodan,zoomeye,站长工具,Bugscaner,潮汐指纹,云悉指纹,Censys,whatweb,WTFScan,子域名挖掘机,dnsdist6,WAFw00f,Fping,arping,nping,nbtscan,whois,Layer子域名收集工具,JSFinder,wwwscan等
- 抓包分析
Burp Suite,Wireshark, TrafficTools,fiddler,hack firefox,proxifier,shadowsocks等
- 端口扫描
Nmap,Zenmap,Masscan,御剑端口扫描工具,Hping3,Advanced_Port_Scanner,PortScan ,netscan tools,blackwater,Unicornscan,nast,Knocker,IPscan等
- 漏洞扫描
Nessus,AWVS,X-ray,Appscan,W3af,OpenVAS,Skipfish,lynis,WPscan,Comodo HackerProof,Nexpose community,Vulnerability Manager Plus,Nikto等
- 目录扫描或爆破
Dirbuster,御剑目录爆破工具,dirsearch,dirb,ffuf,Dirmap,cansin,Wscan,
webdirscan,SourceLeakHacker,fuff等
- 暴力破解
Burp Suite,Hydra,cupp,crunch,Aircrack-NG(无线密码破解),John the Ripper,Rainbow Crack,Cain & Able,L0phtcrack, Ophcrack,Crack,Hashcat,SAMInside,DaveGrohl(Mac os x) ,Ncrack,Brutus,Wfuzz,Medusa等
- SQL注入漏洞扫描或利用
Sqlmap,SQLiScanner,DSSS,Jsql-injection,nosqlattack,Safe3 SQL Injector,
啊D注入,BSQL Hacker,The Mole,Pangolin,Havij,Enema SQLi,sqlsus,SQL Poizon,Netsparker,Leviathan,NoSQLMap,Tyrant SQL,Whitewidow等
- XSS漏洞利用
Cobalt Strike,Beef,XSSer,XSpear,TamperIE,BlueLotus_XSSReceiver(XSS利用平台),XSSYA,xssfork,xssScanner,XSSCon,BruteXSS,XDT等
- WebShell利用
冰蝎,哥斯拉,蚁剑,中国菜刀,天蝎(skyscorpion), pyshell,w8ay,WebKnife,XISE,K8飞刀,Altman,Hatchet,AspxClient(仅支持ASPX脚本),C刀(Cknife),QuasiBot,Weevely,WeBaCoo, Webhandler,Webshell-Sniper,PhpSploit,SharPyShell等
- 免杀
Shellter,FourEye,crazyKiller,DKMC,avevasion,charlotte,cool,crossnet,darkarmour,shellcodeloader,vmprotect,vprotect,ZheTian,peidtool,Mimikatz,PrintSpoofer,metasploit,Veil,avet ,Green hat pro,Venom ,TheFatRat,Insanity等
- 综合
Metasploit,GUI_Tools,Hijacker(针对Android),AttackSurfaceMapper,Burp Suite,watchdog,Empire等
30.使用过哪些安全设备?
答:
- webshell查杀
D盾_Web查杀,百度WEBDIR+(在线),河马(全平台,CloudWalker(牧云)(全平台),Web Shell Detector(在线),Sangfor WebShellKill(深信服),深度学习模型检测PHP Webshell(在线),PHP Malware Finder webshell(全平台),findWebshell,Webshell.pub专注查杀(在线)等
- 病毒查杀
火绒,腾讯安全管家,360杀毒,Rkhunter,卡巴斯基,金山毒霸,瑞星杀毒软件,大蜘蛛,深信服EDR,Rootkit,NOD32,Clamav,virustotal等
- 安全防护
网站安全狗,创宇盾,云锁,阿里云WAF,HiHTTPS,ModSecurity,Naxsi,OpenWAF,FreeWAF,ESAPI WAF,unixhot,Java WAF,X-WAF,VeryNginx,COMODO Firewall等
- 应急响应
火绒剑,微步云沙箱,Goby,PowerTool,Tcpview,PCHunter,ProcessHacker,Everything,ProcessExplorer,ProcessMonitor,XueTr,PCHunter,ProcessDump,AutoRuns,ntfsdir,FastIR,BrowsingHistoryView,sysinspector,sysinternals Suite,Index.dat Analyzer,winhex,RegistryWorkshop,DiskGenius,passrecenc,Fulleventlogview,Wsyscheck,IPOP4.1,Process monitor,Netcat,Malware Defender,MyMonitor,DllInjector,RegShot,gscan,Fodler Monitor,ResHacker,Kaspersky Virus Removal Tool ,DWirelessNetWatcher,ipradar,Fidder,ApateDNS,MiniSniffer,SysTracer等
31.常见的中间件和相关的漏洞有哪些?
答:
- IIS 解析漏洞,短文件名猜解,远程代码执行,PUT漏洞
- Apache 解析漏洞,目录遍历,Shiro反序列化漏洞
- Nginx 解析漏洞,目录遍历,CRLF注入,目录穿越
- Tomcat 远程代码执行,war后门文件部署
- JBoss 反序列化漏洞,war后门文件部署
- WebLogic 反序列化漏洞,SSRF任意文件上传,war后门文件部署
32.常见的端口和相关的服务?
答:(见下)
服务 | 端口号 | 说明 |
---|---|---|
FTP | 20 | FTP服务器真正传输所用的端口,用于上传、下载 |
FTP | 21 | 用于FTP的登陆认证 |
SSH、SFTP 、 | 22 | 加密 的远程登录,文件传输 |
Telnet | 23 | 远程登录(在本地主机上使用此端口与远程服务器的22/3389端口连接) |
SMTP | 25 | 用于发送邮件 |
DNS | 53 | 域名解析 |
HTTP | 80 | 用于网页浏览 |
POP3 | 110 | SUN公司的RPC服务所有端口 |
Network News Transfer Protocol | 119 | NEWS新闻组传输协议,承载USENET通信 |
SMTP | 161 | Simple Network Management Protocol,简单网络管理协议 |
SNMP Trap | 160、162 | SNMP陷阱 |
HTTPS | 443 | 加密 的网页浏览端口 |
CIFS | 445 | 公共Internet文件系统 |
sql server | 1433 | Microsoft的SQL服务开放的端口 数据库 |
Oracle | 1521 | 数据库 |
NFS | 2049 | 通过网络,让不同的机器、不同的操作系统实现文件共享 |
MySQL | 3306 | 数据库 |
WIN2003远程登录 | 3389 | Windows 2000(2003) Server远程桌面的服务端口,本地服务器开放 此端口,去连接到远程的服务器 |
QQ· | 4000 | 腾讯QQ客户端开放此端口 |
redis· | 6379 | 数据库 |
WebLogic | 7001 | 一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器 |
Wingate | 8010 | Wingate代理开放此端口 |
TOMCAT | 8080 | WWW代理开放此端口 |
33.常见的数据库及对应端口?
答:
关系型数据库:
- MYSQL 3306
- SQL Server 1433
- Oracle 1521
- DB2 5000
非关系型数据库:
- Redis 6379
- Memcached 11211
- MongoDB 27017
34.为何一个mysql数据库的站,只有一个80端口开放?
答:
- Mysql默认端口被修改。
- 站库分离。
- 3306端口不对外开放。
35.3389(远程连接)无法连接的几种情况?
答:
- 没开放3389 端口
- 端口被修改
- 防护拦截
1.做了tcp/ip筛选 2.终端登陆权限指定用户 3.防火墙
- 处于内网(需进行端口转发)
- 超过了服务器最大的连接数
36.判断出网站的CMS对渗透有什么意义?
答:
- 查找已曝光的漏洞。
- 如果开源,还能下载相应的源码进行代码审计。
- 根据CMS特征关联同CMS框架站点,进行敏感备份文件扫描,有可能获得站点备份文件。
37.如何判断目标操作系统?
答:
- 大小写检测:windows大小写不敏感,而linux大小写敏感。
- PING指令:根据TTL值,winodws一般情况下>100,linux<100
38.常见代码执行、文件读取、命令执行的函数有哪些?
答:
- 代码执行
eval、call_user_func()、call_user_array()、create_function()、array_map()等
- 文件读取
fopen()、readfile()、fread()、file()等
- 命令执行
system()、exec()、shell_exec()、passthru()、pcntl_exec()、popen()、proc_open()等
39.木马驻留系统的方式有哪些?
答:
- 注册表
- 计划任务
- 服务
- 启动目录
- 关联文件类型
40.蚁剑/菜刀/C刀/冰蝎的相同与不相同之处?
答:
- 相同: 都是用来连接Webshell的工具
- 不同: 相比于其他三款,冰蝎有流量动态加密。
冰蝎强特征:content-type为application/octet-stream
41.内网渗透思路?
答:
- 代理穿透
- 权限维持
- 内网信息收集
- 口令爆破
- 凭据窃取
- 社工
- 横行和纵向渗透
- 拿下域控
42.Windows常用的提权方法?
答:
- 系统内核溢出漏洞提权
- 数据库提权
- 错误的系统配置提权
- 组策略首选项提权
- WEB中间件漏洞提权
- DLL劫持提权
- 滥用高危权限令牌提权
- 第三方软件/服务提权等
43.Linux常用的提权方法?
答:
- Linux内核漏洞提权
- SUID提权 (低权限用户目录下可被Root权限用户调用的脚本提权)
- 环境变了劫持高权限程序提权
- sudoer配置文件错误提权
44.正向代理和反向代理的区别?
答:
正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端
反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端
45.正向shell和反向shell的区别?
答:
- 正向Shell:攻击者连接被攻击者机器,可用于攻击者处于内网,被攻击者处于公网的情况。
- 反向Shell:被攻击者主动连接攻击者,可用于攻击者处于外网,被攻击者处于内网的情况。
46.序列化与反序列化的区别?
答:
- 序列化:把对象转化为可传输的字节序列过程称为序列化。
- 反序列化:把字节序列还原为对象的过程称为反序列化。
47.蓝队常用的反制手段有哪些?
答:
- 蜜罐反制
蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主