文章目录
-
- 1、描述外网打点的流程?
- 2、举几个 FOFA 在外网打点过程中的使用小技巧?
- 3、如何识别 CDN?
- 4、判断出靶标的 CMS,对外网打点有什么意义?
- 5、Apache Log4j2 的漏洞原理是什么?
- 6、如何判断靶标站点是 windows/linux?
- 7、为什么 Mysql 数据库的站点,无法连接?
- 8、文件上传功能的监测点有哪些?
- 9、常见的未授权访问漏洞有哪些?
- 10、代码执行、文件读取、命令执行的函数有哪些?
- 11、Web TOP 10 漏洞有哪些?
- 12、SQL 注入的种类有哪些?
- 14、常见的目录扫描工具有哪些?
- 15、蚁剑/菜刀/冰蝎的相同与不相同之处?
- 16、windows 环境下有哪些下载文件的命令?
- 17、常见的端口号?攻击点?
- 18、一般情况下那些漏洞会被高频被用于打点?
- 19、jsnop的作用,jsonp和cors有什么区别?
- 20、什么是JWT?
- 21、Redis未授权的利用方式
- 22、Redis主从复制RCE原理,前提要求
- 23、常用的代理工具或端口转发工具
- 24、目标不出网怎么搭代理?
- 25、Php反序列化和java反序列化的区别
- 26、Fastjson反序列化原理?
- 27、Fastjson反序列化不出网怎么利用?
- 28、代码层面,fastjson反序列化漏洞的函数有哪些?
- 29、Fastjson有哪些利用链
- 30、fastjson反序列化pass和passobject方法的区别?
- 31、Shiro反序列化原理
- 32、shiro反序列化不出网怎么利用
- 33、shiro反序列化为什么AES密钥泄露之后就可以进行反序列化
- 34、CC1链的原理
- 35、weblogic常见漏洞
- 36、Weblogic反序列化是基于哪些协议去实现的
- 37、Struts2都有哪些漏洞
- 38、jndi注入的原理
- 39、rmi和ldap的区别,分别在什么情况下利用
- 40、Log4j漏洞原理
- 41、常见端口漏洞有哪些?
- 42、如何区分内网中SQL注入攻击事件和正常业务请求?
- 43、Sql注入漏洞加固措施?
- 44、暴力破解加固方法?
- 45、你能说明文件上传的原理吗?
- 46、文件上传攻击特征?
- 47、文件上传加固方法?
- 48、攻击者一般如何获取服务器权限?
- 49、简历写了解waf绕过方式,简单说说?
- 50、描述一下渗透测试的流程?
告警监控组
各位老师好我是XXX,来自XX地区,目前在腾讯T1中心担任安全服务工程师,日常工作主要是负责渗透测试/
安全运维、HW、重保、应急响应等相关工作,下面简单介绍一下我的工作经历。
目前接触安全服务工作XX年了,2019年参加XX国家级/省级HW项目,2020年参加XXX重保项
目…,2021年参加XXX渗透测试项目,前期主要协助客户梳理资产、安全整改、安全加固、策
略优化等等,HW期间主要担任角色是告警监测人员/分析研判人员/溯源反制人员/应急处置人员,主要工作
是通过安全设备监控恶意攻击事件(WEB、网络攻击),将发现的可疑攻击事件上报给分析研判组成员进行
分析研判,协助研判组成员对事件进行分析、提供恶意样本等等。
分析研判组
各位老师好我是XXX,来自XX地区,目前在腾讯T1中心担任安全服务工程师,日常工作主要是负责渗透测试/
安全运维、HW、重保、应急响应等相关工作,下面简单介绍一下我的工作经历
目前接触安全服务工作XX年了,2019年参加XX国家级/省级HW项目,2020年参加XXX重保项
目…,2021年参加XXX渗透测试项目,主要担任角色是告警监测人员/分析研判人员/溯源反制
人员/应急处置人员,主要工作是对安全设备上发现的可疑告警进行分析研判主要方法如:通过监测组提供的
恶意样本文件进行分析,同时结合在线威胁情报中心对恶意攻击线索进行研判,最终判断该攻击是否真实有
效。
溯源反制组
各位老师好我是XXX,来自XX地区,目前在腾讯T1中心担任安全服务工程师,日常工作主要是负责渗透测试/
安全运维、HW、重保、应急响应等相关工作,下面简单介绍一下我的工作经历
目前接触安全服务工作XX年了,2019年参加XX国家级/省级HW项目,2020年参加XXX重保项
目…,2021年参加XXX渗透测试项目,主要担任角色是告警监测人员/分析研判人员/溯源反制
人员/应急处置人员,主要工作是通过分析研判组上报的非法攻击线索以及真实攻击事件对攻击者身份进行溯
源主要的方法如:通过定位攻击者IP、域名、恶意样本特征等虚拟身份信息,展开溯源反制措施通过技术手
段获取攻击者真实身份信息,编写溯源报告提交项目组审核。
WEB
1、描述外网打点的流程?
靶标确认、信息收集、漏洞探测、漏洞利用、权限获取。最终的目的是获取靶标的系统权限/关键数据。在这个过程
中,信息收集最为重要。掌握靶标情报越多,后续就会有更多的攻击方式去打点。比如: 钓鱼邮件、web 漏洞、
边界网络设备漏洞、弱口令等。
2、举几个 FOFA 在外网打点过程中的使用小技巧?
后台挖掘:title=“后台” && body=“password” && host=“x.cn”
子域名:title!=“404” && title!=“302” && host=“x.cn”
C 段:ip=“x.x.x.x/24” && host=“x.cn”
框架特征:body=“icon-spring-boot-admin.svg”
漏洞:body=“index/of”
3、如何识别 CDN?
1)、使用ping命令看回显。
2)、使用nslookup查询域名解析,看域名解析情况。
3)、使用超级ping工具,像Tools,all-toll.cn等。
4、判断出靶标的 CMS,对外网打点有什么意义?
CMS 是Content Management System 的缩写,意为“内容管理系统”。CMS 其实是一个很广泛的称呼,从一般
的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。
1)、判断当前使用的CMS 是否存在Nday,尝试利用公开的 poc、exp 进行测试。
2)、根据CMS 特征关联同CMS 框架站点,进行敏感备份文件扫描,有可能获得站点备份文件。尝试从CMS 源码进行代码审计,挖掘潜在漏洞。
注:
0- day,就是只有你知道的一个漏洞!
1- day,就是刚刚公布的漏洞(没有超过一天)。
n-day,就是这个漏洞已经公布出来了N 天啦!
5、Apache Log4j2 的漏洞原理是什么?
由于Log4j2 组件在处理程序日志记录时存在JNDI 注入缺陷,未经授权的攻击者利用该漏洞,可向服务器发送恶
意的数据,触发log4j2 组件的缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。
6、如何判断靶标站点是 windows/linux?
1)、大小写检测:windows 大小写不敏感,而linux 大小写敏感。
2)、PING 指令:根据 TTL 值,winodws 一般情况下>100,linux<100;TTL(生存时间值)指定 IP 包被路
由器丢弃之前允许通过的最大网段数量。
7、为什么 Mysql 数据库的站点,无法连接?
1)、站库分离。
2)、3306 端口未对外开放 (3306 是Mysql 默认端口)。
3)、Mysql 默认端口被修改。
8、文件上传功能的监测点有哪些?
1)、客户端Javascript 检测(文件后缀名检测)
2)、服务端检测(MIME 类型检测、文件后缀名、文件格式头)MIME是多用途互联网邮件扩展类型,服务端MIME
类型检测是通过检查http 包的Content-Type 字段中的值来判断上传文件是否合法的。
9、常见的未授权访问漏洞有哪些?
未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引
发重要权限可被操作、数据库或网站目录等敏感信息泄露。
Active MQ 未授权访问
Atlassian Crowd 未授权访问
CouchDB 未授权访问
Docker 未授权访问
Dubbo 未授权访问
Druid 未授权访问
Elasticsearch 未授权访问
FTP 未授权访问
Hadoop 未授权访问
JBoss 未授权访问
Jenkins 未授权访问
Jupyter Notebook 未授权访问
Kibana 未授权访问
Kubernetes Api Server 未授权访问
LDAP 未授权访问
MongoDB 未授权访问
Memcached 未授权访问
NFS 未授权访问
Rsync 未授权访问
Redis 未授权访问
RabbitMQ 未授权访问
Solr 未授权访问
Spring Boot Actuator 未授权访问
Spark 未授权访问
VNC 未授权访问
Weblogic 未授权访问
ZooKeeper 未授权访问
Zabbix 未授权访问
10、代码执行、文件读取、命令执行的函数有哪些?
代码执行:eval、call_user_func、call_user_array 等
文件读取:fopen()、readfile()、fread()、file()等
命令执行:system()、exec()、shell_exec()、passthru()、pcntl_exec()等
11、Web TOP 10 漏洞有哪些?
1)、SQL 注入
2)、失效的身份认证
3)、敏感数据泄露
4)、XML 外部实体(XXE)
5)、失效的访问控制
6)、安全配置错误
7)、跨站脚本(XSS)
8)、不安全的反序列化
9)、使用含有已知漏洞的组件
10)、不足的日志记录和监控
12、SQL 注入的种类有哪些?
1)、按照注入点类型分为:数字型、字符串、搜索型。
2)、按照提交方式分为:post 型、get 型、cookie 型、http 头。
3)、按照执行结果分为:基于报错、基于布尔盲注、基于时间盲注、基于联合注入。
13、常见的中间件有哪些?他们有那些漏洞?
1)、IIS:远程代码执行、解析漏洞。
2)、apache:解析漏洞,目录遍历。
3)、Nginx:文件解析、目录遍历、目录穿越。
4)、JBOSS:反序列化漏洞、war后门文件部署。
5)、weblogic:反序列化漏洞、SSRF任意文件上传。
14、常见的目录扫描工具有哪些?
dirsearch、gobuster、御剑等
15、蚁剑/菜刀/冰蝎的相同与不相同之处?
相同:都是用来连接Webshell的工具
不相同:相比于其他三款,冰蝎有流量动态加密。
16、windows 环境下有哪些下载文件的命令?
1)、certutil -urlcache -split -f
2)、bitsadmin 「url」 存放路径
3)、powershell 存放路径
17、常见的端口号?攻击点?
1)、ftp
端口:20、21
攻击点:匿名上传下载、嗅探、爆破
2)、ssh
端口:22
攻击点:爆破
3)、telent
端口:23
攻击点:嗅探、爆破
4)、sql server
端口:1433
攻击点:注入、弱口令、爆破
5)、orcel
端口:1521
攻击点:注入、弱口令、爆破
6)、weblogic
端口:7001
攻击:java反序列化、弱口令
7)、redis
端口:6379
攻击:未经授权、弱口令爆破
8)、JBOSS、tomcat
端口:8080
攻击:反序列化、控制台弱口令
9)、zabbix
端口:8069
攻击:远程执行、sql 注入
18、一般情况下那些漏洞会被高频被用于打点?
1)、shiro漏洞、struts2漏洞、log4j漏洞、fastjson漏洞、thinkphp漏洞、OA系列漏洞、weblogic漏洞
等。
2)、上传漏洞、sql注入漏洞。
3)、边界网络设备资产 + 弱口令。
19、jsnop的作用,jsonp和cors有什么区别?
JSONP(JSON with Padding)是一种利用
20、什么是JWT?
JWT全称Json Web Token,是一种基于json格式传输信息的token鉴权方式。目前应用较为广泛,Web登录认证
以及ctf中经常出现。JWT由三部分组成,分别是头部(Header)、载荷(Payload)和签名(Signature),
JWT通常用于认证和信息交换,例如在身份验证和安全通信中,常用于构建单点登录(SSO)系统。
21、Redis未授权的利用方式
第一种:利用 Redis写入Webshell
条件:
1)、服务端的Redis连接存在未授权,在攻击机上能用redis-cli直接登陆连接,并未登陆验证。
2)、开了服务端存在Web服务器,并且知道Web目录的路径(如利用phpinfo,或者错误爆路经),还
需要具有文件读写增删改查权限。
第二种:利用 Redis写入SSH公钥
条件:
1)、服务端的Redis连接存在未授权,在攻击机上能用redis-cli直接登陆连接,并未登陆验证。
2)、服务端存在.ssh目录并且有写入的权限
第三种:利用 Redis 写入计划任务
原理:在数据库中插入一条数据,将计划任务的内容作为value,key值随意,然后通过修改数据库的默认路
径为目标主机计划任务的路径,把缓冲的数据保存在文件里,这样就可以在服务器端成功写入一个计划任务进行反
弹shell。
Redis未授权访问漏洞在SSRF中的利用
在SSRF漏洞中,若目标存在Redis服务。且存在未授权访问,就可以利用Gopher协议远程操纵目标主机上的
Redis,可以利用 Redis 自身的提供的 config 命令像目标主机写WebShell、写SSH公钥、创建计划任务反弹
Shell等。
22、Redis主从复制RCE原理,前提要求
Redis主从复制RCE原理:
1)、Redis主从复制(Replication)是指将一个 Redis 服务器的数据同步复制到另一个 Redis 服务
器上的过程。在主从复制中,一个 Redis 服务器充当主节点(Master),负责接收写操作并将这些操作同步到从
节点(Slave)。从节点接收到主节点的写操作后,会将这些操作应用到自己的数据集上,从而保持与主节点的数
据同步。
2)、在Redis主从复制中,如果主节点受到了RCE攻击,攻击者可以执行一些恶意操作,利用主节点向从节点
发送恶意的写操作。这些写操作会被从节点接收并应用到自己的数据集上,导致从节点也受到攻击,从而实现RCE攻
击。
前提条件:
1)、未授权访问或弱密码: 攻击者首先需要获取对主节点的未授权访问或者使用弱密码登录主节点。
2)、执行恶意命令: 攻击者通过未授权访问或者登录主节点后,执行一些恶意的命令,例如修改Redis的配
置文件,使其开启远程命令执行功能(如CONFIG SET dir)。
3)、向从节点发送恶意写操作: 一旦主节点开启了远程命令执行功能,攻击者可以向主节点发送一些恶意的
写操作,例如写入恶意的数据或者执行恶意的命令。
4)、从节点同步恶意写操作: 从节点会从主节点同步这些恶意的写操作,并将其应用到自己的数据集上,从
而导致从节点受到攻击。
23、常用的代理工具或端口转发工具
1)、frp:一种快速反向代理,允许您将位于 NAT 或防火墙后面的本地服务器暴露给 Internet。目前支持TCP
和UDP,以及HTTP和HTTPS协议,可以将请求通过域名转发到内部服务。
2)、proxifier:全平台代理工具,支持多种socks协议
3)、pingtunnel:把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具
4)、nps:轻量级、高性能、功能强大的内网穿透代理服务器
5)、Neo-reGeorg:
6)、ngrok
24、目标不出网怎么搭代理?
拿到服务器权限之后,遇见这种机器,只能利用基于webshell的代理,只需要将webshell上传到目标主机即可,
然后建立tcp连接,主要利用session来识别不同的的tcp连接,我们攻击监听tcp,将数据post提交到webshell
即可进行传输,简单介绍两个常用的工具。
1)、Neo-reGeorg:相当于是 reGeorg的升级版,有了更强的隐蔽性,原理都是相同的,常用于webshell代理
流量,进而进行内网渗透。
2)、pystinger:毒刺通过webshell实现内网socks4代理,并且可以利用pystinge实现各种cs\msf上线,目
前仅支持php、jsp(x)、aspx
25、Php反序列化和java反序列化的区别
1)、语言差异: PHP是一种脚本语言,而Java是一种编译型语言。这两种语言的反序列化机制在语言层面上有所
不同,因为它们的语法和执行方式不同。
2)、反序列化漏洞: 反序列化漏洞是一种安全漏洞,可能会导致恶意攻击者执行远程代码。在Java中,反序列化
漏洞是一种常见的安全问题,因为Java的反序列化机制在默认情况下是不安全的,即使是从信任源反序列化数据也
可能存在风险。为了防止这种类型的攻击,Java提供了一些安全机制,如安全的反序列化过滤器。而在PHP中,由
于语言的特性和反序列化的实现方式不同,一般情况下不会出现类似于Java中的反序列化漏洞。
3)、序列化格式: PHP和Java使用不同的序列化格式。PHP通常使用serialize()函数和unserialize()函数
进行序列化和反序列化,而Java通常使用Java对象序列化(Java Object Serialization)机制。这两种序列
化格式在结构上有一些差异,因此反序列化的实现方式也有所不同。
4)、类加载: 在Java中,反序列化通常涉及类的加载和实例化过程。Java反序列化机制会尝试加载序列化数据
中引用的类,并创建相应的对象。而在PHP中,由于语言的动态特性,反序列化通常不涉及类加载的过程,因为PHP
可以在反序列化时动态地创建对象。
26、Fastjson反序列化原理?
第一种回答:
1)、fastjson 是阿里巴巴开发的 java语言编写的高性能 JSON 库,用于将数据在 Json 和 Java
Object之间相互转换。它没有用java的序列化机制,而是自定义了一套序列化机制。提供两个主要接口:
JSON.toJSONString 和 JSON.parseObject/JSON.parse 分别实现序列化和反序列化。
2)、fastjson为了读取并判断传入的值是什么类型,增加了autotype机制导致了漏洞产生。由于要获取
json数据详细类型,每次都需要读取@type,而@type可以指定反序列化任意类调用其set,get,is方法,并且
由于反序列化的特性,我们可以通过目标类的set方法自由的设置类的属性值。那么攻击者只要准备rmi服务和web
服务,将rmi绝对路径注入到lookup方法中,受害者JNDI接口会指向攻击者控制rmi服务器,JNDI接口从攻击者
控制的web服务器远程加载恶意代码并执行,形成RCE。
第二种回答:
在请求包里面中发送恶意的json格式payload,漏洞在处理json对象的时候,没有对@type字段进行过滤,
从而导致攻击者可以传入恶意的TemplatesImpl类,而这个类有一个字段就是_bytecodes,有部分函数会根据这
个_bytecodes生成java实例,这就达到fastjson通过字段传入一个类,再通过这个类被生成时执行构造函数。
27、Fastjson反序列化不出网怎么利用?
简介回答:
1)、将命令执行结果写入到静态资源文件里,如html、js等,然后通过http访问就可以直接看到结果
2)、通过dnslog进行数据外带
3)、直接将命令执行结果回显到请求Poc的HTTP响应中
4)、注入内存马
5)、使用反序列化链直接本地反序列化
详细回答:
第一种:TemplatesImpl利用连
版本 1.2.24
苛刻条件:
1)、服务端使用parseObject()时,必须使用如下格式才能触发漏洞:
JSON.parseObject(input, Object.class, Feature.SupportNonPublicField);
2)、服务端使用parse()时,需要
JSON.parse(text1,Feature.SupportNonPublicField)
这是因为com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl需要赋值的一些属性
为private 属性,要满足private属性的数据。所以比较苛刻,完全凭运气。
第二种:C3P0二次序列化 之 hex序列化字节加载器
第三种:Commons-io 写文件/webshell
条件:
1)、但写webshell需要知道网站路径,不然就无法利用如果为高权限,可尝试写定时任务,免密
钥,等等。
2)、低版本限制< fastjson 1.2.68。
第四种:BECL攻击,命令执行/内存马
becl攻击则是利用tomcat的BasicDataSource链编译poc,将poc的class字节码转化为bcel然后发
送payload。
1)、SpringEcho 回显
2)、Tomcat 回显
3)、abitis 回显:适用于weblogic、jboss等非tomcat中间件且引入了ibatis组件的情况
28、代码层面,fastjson反序列化漏洞的函数有哪些?
1)、parseObject(): 这个函数用于将JSON字符串反序列化为Java对象。在过去的一些版本中,当JSON字符
串包含恶意构造的数据时,可能导致代码执行漏洞。
2)、parse(): 类似于parseObject()函数,这个函数也用于将JSON字符串反序列化为Java对象。在某些情
况下,由于Fastjson在处理类型信息时的不当处理,可能会导致反序列化漏洞。
3)、getObject(): 这个函数用于获取JSON对象中指定键对应的值,并尝试将其转换为指定类型的Java对象。
在某些情况下,由于类型处理不当,可能导致反序列化漏洞。
4)、parseArray(): 这个函数用于将JSON数组反序列化为Java集合。在某些情况下,由于Fastjson对数组
类型的处理不当,可能导致反序列化漏洞。
29、Fastjson有哪些利用链
1)、TemplatesImpl 利用链
适用于: FastJason 1.2.22-1.2.24
2)、JdbcRowSetImpl 利用链
影响范围: fastjson <= 1.2.24
RMI利用的JDK版本≤ JDK 6u132、7u122、8u113
LADP利用JDK版本≤ 6u211 、7u201、8u191
不需要设置Feature.SupportNonPublicField
30、fastjson反序列化pass和passobject方法的区别?
1)、在 Fastjson 中,pass 和 passObject 方法都是用于序列化和反序列化 JSON 数据的。它们的主要区
别在于处理的数据类型不同。
2)、pass 方法用于序列化和反序列化普通的 Java 对象(POJO,Plain Old Java Object);
passObject 方法则用于序列化和反序列化复杂的 Java 对象,比如泛型类型、内部类等。
3)、总的来说,pass 方法适用于普通的 Java 对象的序列化和反序列化,而 passObject 方法适用于复杂的
Java 对象,包括泛型、内部类等的序列化和反序列化。根据需要选择合适的方法来处理不同类型的数据。
31、Shiro反序列化原理
为了让浏览器或服务器重启后用户不丢失登录状态,Shiro 支持将持久化信息序列化并加密后保存在
Cookie 的 rememberMe 字段中,下次读取时进行解密再反序列化。但是在 Shiro 1.2.4版本之前内置了一个
默认且固定的加密 Key,导致攻击者可以伪造任意的 rememberMe Cookie,进而触发反序列化漏洞。
分为Shiro-550反序列化漏洞和Shiro-721反序列化漏洞,Shiro550只需要通过碰撞key,爆破出来密钥,
就可以进行利用;Shiro721的ase加密的key一般情况下猜不到,是系统随机生成的,并且当存在有效的用户信息
时才会进入下一阶段的流程所以我们需要使用登录后的rememberMe Cookie,才可以进行下一步攻击。
32、shiro反序列化不出网怎么利用
若目标不出网,我们可以通过shiro漏洞进行写webshell,然后使用哥斯拉、冰蝎连接。
33、shiro反序列化为什么AES密钥泄露之后就可以进行反序列化
AES加密的密钥Key被硬编码在代码里,于是可得到Payload的构造流程:恶意命令–>序列化–>AES加密–
base64编码–>发送Cookie
当成功泄露了加密密钥后,就可以解密受到保护的序列化数据,从而获取其中的原始数据。如果这些原始数据中包
含了恶意构造的序列化对象,那么就可以利用这些数据来触发 Shiro 的反序列化漏洞,执行远程代码等攻击。
34、CC1链的原理
CC1(CommonsCollections1) 链是反序列化攻击中的一种经典利用链,它利用了 Commons Collections 库
中的反序列化漏洞来执行恶意代码。原理如下
1)、构造恶意的序列化数据: 攻击者首先构造一个包含恶意代码的 Java 对象,并将其序列化为字节流数据。
2)、构建链表或哈希表: 攻击者利用 Commons Collections 库中的特性,将序列化数据反序列化成一个链表
或哈希表。这个数据结构通常包含多个节点,其中每个节点都包含一个对象引用和一些操作方法。
3)、利用链表或哈希表的特性: Commons Collections 库中的某些方法会遍历链表或哈希表的节点,并对其
中的对象进行操作。攻击者构建的恶意节点可以包含恶意代码,在遍历过程中,这些恶意代码会被执行,从而导致
攻击成功。
4)、触发漏洞: 当目标系统尝试对恶意构造的序列化数据进行反序列化时,恶意代码被执行,攻击者就可以实现
远程代码执行等攻击行为。
Apache Commons Collections 项目已经修复了这些漏洞,因此使用最新版本的 Commons Collections 库
可以有效地防止 CC1 链攻击。
35、weblogic常见漏洞
1)、weblogic弱口令
system/password
weblogic/weblogic
admin/security
joe/password
mary/password
system/security
wlcsystem/wlcsystem
wlpisystem/wlpisystem
weblogic/weblogic123
weblogic/weblogic2
weblogic/Oracle@123
system/password
weblogic/weblogic
admin/security
joe/password
mary/password
system/security
wlcsystem/wlcsystem
wlpisystem/wlpisystem
guest/guest
portaladmin/portaladmin
system/system
WebLogic/WebLogic
2)、weblogic XMLDecoder反序列化漏洞CVE-2017-10271)
3)、weblogic任意文件上传(CVE-2018-2894)
4)、Weblogic-SSRF漏洞(CVE-2014-4210)
5)、weblogic反序列化远程代码执行漏洞(CVE-2019-2725)
6)、weblogic T3反序列化(CVE-2021-2135)
7)、Weblogic Server远程代码执行漏洞(CVE-2021-2109)
8)、weblogic未授权漏洞(CVE-2020-14882)
9)、weblogic命令执行漏洞(CVE-2020-14883)
10)、Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)
36、Weblogic反序列化是基于哪些协议去实现的
1)、weblogic 的反序列化漏洞分为两种 ,一种是基于T3 协议的反序列化漏洞,一个是基于XML的反序列化漏
洞。
2)、对于T3协议的理解:RMI 通信时会将数据进行序列化后传输,同样的接收数据后反序列化进行接收,正常
RMI通信使用的是JRMP协议,而在Weblogic的RMI通信中使用的是T3协议,T3是weblogic独有的一个协议。
37、Struts2都有哪些漏洞
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2
作为控制器(Controller)来建立模型与视图的数据交互。
1)、S2-001
2)、S2-005
3)、S2-007
4)、S2-008
5)、S2-009
6)、S2-012
7)、S2-013
8)、S2-015
9)、S2-016
10)、S2-032
11)、S2-045
12)、S2-046
13)、S2-048
14)、S2-052
15)、S2-053
16)、S2-057
17)、S2-059
18)、S2-061
38、jndi注入的原理
Java命名和目录接口(JNDI)是一种Java API,类似于一个索引中心,它允许客户端通过name发现和查找数据
和对象。所谓的JNDI注入就是当代码中jndiName这个变量可控时,引发的漏洞,它将导致远程class文件加载,
从而导致远程代码执行。
39、rmi和ldap的区别,分别在什么情况下利用
RMI(远程方法调用)和LDAP(轻量目录访问协议)是两种完全不同的技术,用途也不同。
RMI(远程方法调用):
特点:RMI是Java平台上的一种机制,允许在不同的Java虚拟机(JVM)之间进行远程通信和方法调用。通过
RMI,可以在网络上调用另一个Java虚拟机上的对象的方法,就好像调用本地对象的方法一样。
用途:RMI通常用于构建分布式应用程序,其中不同的组件可以在网络上进行通信和协作。例如,一个服务器
可以提供一些服务,客户端通过RMI调用这些服务。典型的应用场景包括分布式计算、客户端-服务器应用程序等。
LDAP(轻量目录访问协议):
特点:LDAP是一种用于访问和维护分布式目录信息的协议,通常用于在网络上存储和检索关于用户、组织、设
备等信息的目录信息。LDAP是基于TCP/IP协议栈的协议,使用树形结构组织数据。
用途:LDAP通常用于实现身份验证和授权,以及存储组织内部的用户信息、组信息和其他相关信息。常见的应
用场景包括企业内部的用户认证、电子邮件系统中的地址簿、网络服务中的用户账号管理等。
在选择使用RMI还是LDAP时,需要根据具体的需求来决定:
如果需要在Java应用程序之间进行远程通信和方法调用,那么可以选择使用RMI。
如果需要存储和检索目录信息,并且可能需要跨平台访问这些信息,那么可以选择使用LDAP
40、Log4j漏洞原理
Apache Log4j2是一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工具将程
序的输入输出信息进行日志记录。
Apache log4j2-RCE 漏洞是由于Log4j2提供的lookup功能下的Jndi Lookup模块出现问题所导致的,
==该功能模块在输出日志信息时允许开发人员通过相应的协议去请求远程主机上的资源。而开发人员在处理数据
时,并没有对用户输入的信息进行判断,导致Log4j2请求远程主机上的含有恶意代码的资源 并执行其中的代码,
从而造成远程代码执行漏洞。
41、常见端口漏洞有哪些?
21(FTP)
873(Rsync)
1433(MSSQL)
1521(Oracle)
2181(Zookeeper)
3306(Mysql)
5432(PostgreSQL)
6379(redis)
001(weblogic)
8161(ActiveMQ )
9200(elasticsearch )
27017(Mongodb)
50070,50050(Hadoop)
42、如何区分内网中SQL注入攻击事件和正常业务请求?
可以通过请求体中的payload进行判断,正常业务请求的SQL语句通体较长且无敏感的函数使用,SQL注入攻击事件
请求体中的payload通常较短且语句中有敏感函数如sleep、updataxml等等。
43、Sql注入漏洞加固措施?
1)、对于输入的字符进行过滤,主要是特殊字符,如“单引号、双引号、#和两个减号、sql关键字”
2)、买waf设备
44、暴力破解加固方法?
1)、添加强度较高的验证码,不易被破解。
2)、修改密码设置规则,提高用户的密码强度。
3)、同一账号登陆次数锁定,生成锁定日志。
4)、定期排查弱口令。
45、你能说明文件上传的原理吗?
绕过上传限制,上传可执行代码文件。
PHP:如果系统中存在可以上传文件的功能点,就可以上传后门脚本文件,通过一些方法绕过上传限制,如果能访问
后门的的话,系统存在文件上传漏洞,可以借助后门执行命令
Java:上传 jsp 代码
Asp/Aspx
Python:因为脚本需要译后生成 pyc 字节码文件,所以不存在文件上传
46、文件上传攻击特征?
能够上传文件的接口,应用程序对用户上传文件类型不校验或者校验不严格可绕过,导致任意类型文件上传,攻击
者可上传 webshell 拿到服务器权限,在这个过程中攻击者必然会上传恶意脚本文件,特征:上传文件保存处出
现可执行脚本。
47、文件上传加固方法?
1)、后端限制文件上传白名单,头像不允许上传 svg
2)、上传后文件随机重命名,不要输出保存文件位置
3)、图片文件可以二次渲染,使用对象存储 oss
4)、文件目录取消执行权限,PHP 设置 basedir
48、攻击者一般如何获取服务器权限?
1)、文件上传weshell。
2)、ssh服务等弱口令爆破。
3)、已经框架rce漏洞。
4)、sql注入getshell。
49、简历写了解waf绕过方式,简单说说?
1)、使用sqlmap自带的脚本。
2)、使用nmap自带的脚本。
3)、请求包添加大量无用数据。
4)、测试多个关键字,看看有无未过滤的。
5)、改变http请求类型,get变post。
6)、找出真实IP。
50、描述一下渗透测试的流程?
首先信息收集,收集子域名、Whois、C段、旁站、Web 系统指纹识别,然后测试 web 系统的漏洞。