ip、子域名、cms、端口及存在的服务、弱口令、网站目录结构、域名的whois信息、服务器系统版本、中间件有没有已知的漏洞
开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
利用以上的方式拿到webshell,或者其他权限
提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
总结报告及修复方案
Boolean盲注
Union注入
文件读写
报错注入{
floor报错注入
ExtractValue报错注入
UpdataXml报错注入
}
时间盲注
REGEXP正则匹配
宽字节注入
堆叠注入
二次注入
User-Agent注入
Cookie注入
过滤绕过
万能密码
预编译
PDO
正则表达式过滤
序列化:把对象转化为可传输的字节序列过程称为序列化。
反序列化:把字节序列还原为对象的过程称为反序列化。
MySQL:3306
SQL Server:1433
Oracle:1521
DB2:5000
MongoDB:27017—非关系型数据库
Redis:6379
Memcached:11211
PHP代码执行的危险函数
call_user_func()
call_user_func_array()
create_function()
array_map()
system
shell_exec
passthru
exec
popen
proc_open
putenv
assert
PUT漏洞、短文件名猜解、远程代码执行、解析漏洞
解析漏洞、目录遍历
文件解析、目录遍历、CRLF注入、目录穿越
远程代码执行、war后门文件部署
反序列化漏洞、war后门文件部署
反序列化漏洞
SSRF任意文件上传
war后门文件部署
Apache Shiro反序列化漏洞
Shiro rememberMe(Shiro-550)
Shiro Padding Oracle Attack(Shiro-721)
代理穿透
权限维持
内网信息收集
口令爆破
凭据窃取
社工
横行和纵向渗透
拿下域控
Windows提权
纵向提权:低权限角色获得高权限角色的权限;
横向提权:获取同级别角色的权限。
系统内核溢出漏洞提权
数据库提权
错误的系统配置提权
组策略首选项提权
WEB中间件漏洞提权
DLL劫持提权
滥用高危权限令牌提权
第三方软件/服务提权等
低权限用户目录下可被Root权限用户调用的脚本提权(SUID)
环境变了劫持高权限程序提权
sudoer配置文件错误提权
SQL注入
失效的身份认证
敏感数据泄露
XML外部实体(XXE)
失效的访问控制
安全配置错误
跨站脚本(XSS)
不安全的反序列化
使用含有已知漏洞的组件
不足的日志记录和监控
相同:都是用来连接Web Shell的工具
不同:相比于其他三款,冰蝎有流量动态加密
正向代理,当客户端无法访问外部资源的时候(比如Google、YouTube),可以通过一个正向代理去间接地访问。
正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
反向代理,客户端是无感知代理的存在,以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端。此时代理服务器对外就表现为一个服务器
正向Shell:攻击者连接被攻击者机器,可用于攻击者处于内网,被攻击者处于公网的情况。
反向Shell:被攻击者主动连接攻击者,可用于攻击者处于外网,被攻击者处于内网的情况。
正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.
反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端
就是在和数据库有交互的地方,对输入的参数没有进行严格的过滤导致输入的恶意查询语句被执行;或者对字符串进行拼接构造sql注入
sql注入的分类有哪些?
a.从注入方式上看有联合查询注入、报错型注入、布尔型注入、延时注入、堆叠注入这些
b.从数据类型上有:字符型、数字型
c.从注入位置可以分为GET型、POST型、HTTP头部、cookie数据
a.对输入的数据长度进行限制
b.关键字过滤,比如:select、insert、order
c.对参数携带的特殊字符进行转义和过滤
d.最好的还是预编译:就是sql语句被数据库编译和优化后运行的语句以参数的形式进行查询,即使有敏感字符传递也会被参数化
Group_concat():将select的查询结果全部显示出来,占一个显示位
select version():查询MySQL版本
select user():查询数据库用户名
select database():查询数据库名
select @@datadir():查询数据库的绝对路径
select @@version_compile_os:查询操作系统版本
select current_user():查询当前用户
Order by: 找列的数量
Union select:联合查询(联合查询的条件是前一条语句查询不到且字段数与前一条语句的查询字段数一致)
limit:限制显示个数(如:limit 0 2 表示从第一个开始显示两个)
跨站请求伪造,就是挟持了当前已经登录的用户程序去做用户非本意的操作,比如说在用户已经登录淘宝的情况下,用户去点开了
另一个恶意链接,然后恶意链接就是请求修改用户淘宝密码的,这种情况就是跨站请求伪造
1.就是那个好像叫同源策略,检查referer字段,拒绝非本站的请求,但是要注意referer为空的情况,还有就是部分匹配的情况
2.另外一个检查taken校验码,服务器生成的伪随机数发给用户,后台会拒绝掉错误的请求
csrf由客户端发起请求的安全漏洞
Ssrf是由服务器端发起请求的安全漏洞
跨站脚本攻击:往web页面中插入恶意代码,用户浏览该网页时恶意代码会执行
攻击途径:
1.对普通的用户输入页面原样输出
2.代码区有用户输入的内容
3.允许用户输入html标签的页面
怎样防范?
主要就是过滤输入和转义输出
1.比如说对用户提交的url、http头、post数据进行输入验证
2.输出的话,比如说对用户输出的内容使用标签,标签内的内容会直接显示
3.还有就是严格控制字符输入字数
4.或者在脚本执行的代码里杜绝掉用户输入
不同:
xss:是对输入的数据没有足够的过滤,导致客端HTML页面出现恶意代码被执行
csrf:是对用户提交的随机校验和对http请求包内的refer字段校验不严
ssrf:对用户提供的url过于信任,没有做地址限制和更多的检测
序列化:把对象转换成字节流,便于保存或者传输;
反序列化:就是把字节流还原成对象
Java中的ObjectOutputStream类的writeObject()方法可以实现序列化,
ObjectInputStream类的readObject()方法用于反序列化。
在java读取完字节流后,会判断是否存在用户自定义的“readObject”方法,如果存在的话,就优先使用udf。所以,如果存在一个自定义了“readObject”方法的对象,而这个方法是危险的,比如说执行系统命令,就会导致反序列化后形成威胁。
怎样防范?
需要在objectinputstream类反序列化时,对生成的对象类型做限制,比如说设置白名单
xxe原理是什么?
xml外部实体注入漏洞:注入是指xml数据在传输过程中被修改,导致服务器哦执行了恶意代码
外部实体:是指攻击者通过利用外部实体声明来对xml进行修改,插入恶意代码
xxe漏洞发生在应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意文件,造成文件读取、命令执行
等攻击
xxe漏洞触发点往往是:可以上传xml文件的位置、没有对上传的xml文件进行过滤、导致可以上传恶意的型命令、文件
怎样利用漏洞?
1.读取本地文件
2.读取php我呢见
3.无回显读取本地文件、内网主机、端口探测
4.ddos攻击
如何防范?
配置xml处理器使用禁用DTD、禁止外部实体解析
使用开发语言提供的禁用外部实体的办法
通过黑名单过滤用户提交的xml数据
不允许xml中含有任何自己声明的DTD
1.弱口令,2.万能密码 3. 暴力枚举
在文件上传的功能处,若服务端脚本语言未对上传的文件进行严格验证和过滤,导致恶意用户上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,这就是文件上传漏洞。
存在文件上传功能的地方都有可能存在文件上传漏洞,比如相册、头像上传,视频、照片分享。论坛发帖和邮箱等可以上传附件的地方也是上传漏洞的高危地带。另外像文件管理器这样的功能也有可能被攻击者所利用值得注意的是,如果移动端也存在类似的操作的话,那么相同的原理,也存在文件上传漏洞的风险
计算机网络方面:
Referer字段作用:标识请求源地址
1.防盗链、2.防止恶意请求
数据库方面:
常见数据库:
Oracle数据库 DB2数据库
SQL Server数据库 PostgreSQL数据库
MySQL数据库 Sybase数据库
工作原理:
1 、初始化——RIP初始化时,会从每个参与工作的接口上发送请求数据包。该请求数据包会向所有的RIP路由器请求一份完整的路由表。该请求通过LAN上的广播形式发送LAN或者在点到点链路发送到下一跳地址来完成。这是一个特殊的请求,向相邻设备请求完整的路由更新。
2 、接收请求——RIP有两种类型的消息,响应和接收消息。请求数据包中的每个路由条目都会被处理,从而为路由建立度量以及路径。RIP采用跳数度量,值为1的意为着一个直连的网络,16,为网络不可达。路由器会把整个路由表作为接收消息的应答返回。
3、接收到响应——路由器接收并处理响应,它会通过对路由表项进行添加,删除或者修改作出更新。
4、 常规路由更新和定时——路由器以30秒一次地将整个路由表以应答消息地形式发送到邻居路由器。路由器收到新路由或者现有路由地更新信息时,会设置一个180秒地超时时间。如果180秒没有任何更新信息,路由的跳数设为16。路由器以度量值16宣告该路由,直到刷新计时器从路由表中删除该路由。刷新计时器的时间设为240秒,或者比过期计时器时间多60秒。Cisco还用了第三个计时器,称为抑制计时器。接收到一个度量更高的路由之后的180秒时间就是抑制计时器的时间,在此期间,路由器不会用它接收到的新信息对路由表进行更新,这样能够为网路的收敛提供一段额外的时间。
5、 触发路由更新——当某个路由度量发生改变时,路由器只发送与改变有关的路由,并不发送完整的路由表。
工作原理
OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。整个过程使用了五种报文、三个阶段、四张表。
五种报文
Hello报文:建立并维护邻居关系。
DBD报文:发送链路状态头部信息。
LSR报文:把从DBD中找出需要的链路状态头部信息传给邻居,请求完整信息。
LSU报文:将LSR请求的头部信息对应的完整信息发给邻居。
LSACK:收到LSU报文后确认该报文。
三个阶段
邻居发现:通过发送Hello报文形成邻居关系。
路由通告:邻居间发送链路状态信息形成邻接关系。
路由计算:根据最短路径算法算出路由表。
四张表
邻居表:主要记录形成邻居关系路由器。
链路状态数据库:记录链路状态信息。
OSPF路由表:通过链路状态数据库得出。
全局路由表:OSPF路由与其他比较得出。
工作过程
(1)了解自身链路
每台路由器了解其自身的链路,即与其直连的网络。
(2)寻找邻居
不同于RIP,OSPF协议运行后,并不立即向网络广播路由信息,而是先寻找网络中可与自己交换链路状态信息的周边路由器。可以交互链路状态信息的路由器互为邻居。
(3)创建链路状态数据包
路由器一旦建立了邻居关系,就可以创建链路状态数据包。
(4)链路状态信息传递
路由器将描述链路状态的LSA泛洪到邻居,最终形成包含网络完整链路状态信息的链路状态数据库。
(5)计算路由
路由区域内的每台路由器都可以使用SPF算法来独立计算路由。
Rip和ospf区别:
rip:路由信息协议,快被淘汰。15跳为最大值,只能用于小型网络。,根据路径选择不一定是最优路径
ospf:开放式最短路径优先,收敛速度快,根据带宽来选择最短路径,使用于大型网络。
缺点:配置复杂,负载均衡能力比较弱
1.TCP/IP 三次握手过程,四次挥手?
第一次握手
客户主动去连接服务器,并且发送SYN=1,seq=x,服务器是被动打开
第二次握手
服务器在收到SYN后,它会发送一个SYN以及一个ACK(应答)给客户,
SYN=1,ACK=1,seq=y,ack=x+1
第三次握手
客户在收到新SYN , ACK 后,也回应ACK=1,seq=x+1,ack=y+1
然后两边就可以开始数据发送数据了
为什么需要三次握手:
为什么需要三次:第一次客户端的发送能力和服务器端的接受能力都是正常的,第
二次客户端得出服务端的接收发送能力,客户端的接收发送能力是正常的。但是服务
器并不能确认客户端的接收能力是否正常。第三次握手,服务端得出结论,客户端的
收发能力正常,自己的收发能力也是正常的
Syn攻击:服务器端在二次握手的时候分配资源,客户端在三次握手的时候分配资源,
所以服务器容易遭到syn泛洪攻击。即客户端在短期内制造大量不存在的IP地址,不断
发送syn包,等待服务器确认,因为原地址不存在,所以服务器端需要不断重发直至超
时,伪造的syn包将长时间占用未连接队伍,导致正常的syn请求因为队列满了而被丢弃
从而导致网络拥塞甚至瘫痪
四次挥手:
客户:FIN=1,seq=u,服务器关闭等待,并通知应用程序
服务器:ACK=1,seq=v,ack=u+1,客户端终止等待
服务器:FIN=1,ACK=1,seq=w,ack=u+1
客户:ACK=1,seq=u+1,ack=w+1最终确认关闭
为什么需要四次挥手:闭连接时,当服务端收到FIN报文时,
很可能并不会立即关闭SOCKET,所以只能先回复一个ACK
报文,告诉客户端,“你发的FIN报文我收到了”。只有等
到我服务端所有的报文都发送完了,我才能发送FIN报文,因
此不能一起发送。故需要四次挥手。
SYN:确立联机
ACK:确认
FIN:结束
冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端
特点:
流量加密,难以被检测
webshell免杀性好
加密方式:aes加密
主要功能为:基本信息、命令执行、虚拟终端、文件管理、Socks代理、反弹shell、数据库管理、自定义代码等,功能非常强大
加密原理:
客户端用GET形式向服务器发起带密码的请求
服务端产生随机密钥,将密钥写入session返回给客户端
客户端获取到密钥后,将payload用AES加密,用POST形式发送请求
服务器收到请求后,用session中的密钥解密请求的Body部分,之后执行Payload,直接将结果返回到客户端。
客户端获取执行结果,显示到UI界面上。
(二) 冰蝎工具通信原理
冰蝎的通信过程可以分为两个阶段:
1.密钥协商
2.加密传输
第一阶段-密钥协商
1)攻击者通过 GET 或者 POST 方法,形如 http://127.0.0.1/shell.aspx?pass=645 的请求服务器密钥;
2)服务器使用随机数 MD5 的高16位作为密钥,存储到会话的 $_SESSION 变量中,并返回密钥给攻击者。
第二阶段-加密传输
1)客户端把待执行命令作为输入,利用 AES 算法或 XOR 运算进行加密,并发送至服务端;
2)服务端接受密文后进行 AES 或 XOR 运算解密,执行相应的命令; 3)执行结果通过AES加密后返回给攻击者。
二、冰蝎特征检测
总结冰蝎在流量交互中的特征,这些特征可分为两类。一类是可绕过特征,这类特征攻击者可通过构造报文进行绕过,致使设备检测不到冰蝎 webshell 特征。另一类是非可绕过特征,攻击者在某些情景无法更改 HTTP 某些字段,致使有固定报文字段可供设备检测。
一) 可绕过特征
Accept字段
Accept是HTTP协议常用的字段,但冰蝎默认 Accept 字段的值却很特殊,这个特征存在于冰蝎的任何一个通讯阶段。如下:
Accept: text/html,image/gif, image/jpeg, *; q=.2, /; q=.2
UserAgent字段
冰蝎内置了十余种 UserAgent ,每次连接 shell 会随机选择一个进行使用。如果发现历史流量中同一个源IP访问某个URL时,命中了多个 UserAgent ,可基本确认为冰蝎特征。
长连接
冰蝎通讯默认使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection。
(二) 非可绕过特征
密钥传递时URL参数
密钥传递时,URI只有一个参数,key-value型参数,只有一个参数。Key是黑客给shell设置的密码,一般为10位以下字母和数字,很少有人设置特殊字符做一句话密码的(少数情况我们不考虑)。而Value一般是2至3位随机纯数字。
在加密通讯过程中,无URL参数。如下:
.(php|jsp|asp|jspx|asa) HTTP/1.1
传递的密钥
加密所用密钥是长度为16的随机字符串,小写字母+数字组成。密钥传递阶段,密钥存在于Response Body中。正则如下:1{16}$
在加密通讯时,php/jsp shell 会提交base64编码后的请求数据。用如下正则便可以很好的匹配。数字20是指定的字符出现至少20个才会匹配。正则如下:
\r\n\r\n[a-zA-Z\d+/]{20,}
该特征同样存在于加密通讯时,在返回包中的数据是加密后的二进制数据。这里使用正则的“非”匹配二进制非常见字符。正则如下:
”[\w\s><=-‘”:;,!(){}][\w]{2}[\w\s><=-‘”.:;,!(){}][a-zA-Z\d]{2}”
Windows查看某个端口被哪个进程占用
一、开始–>运行–>cmd,或者是按window+R组合键输入cmd,调出命令窗口
二、查看占用端口的进程
执行命令 Netstat -aon|findstr “8090”
四、结束该进程
在cmd的命令窗口中输入:
taskkill /f /t /im java.exe
查看Linux端口占用,并kill掉相关进程
方式一:lsof命令
1、查看占用端口进程的PID:lsof -i:{端口号}
2、根据PID kill掉相关进程:
kill -9 {PID}
方式二:netstat命令
1、查看占用端口进程的PID:
netstat -tunlp|grep {port}
2、kill方法如上。
kill -9 {PID}
2.OSI七层模型?TCP/IP四层?
应用层 (Application):
网络服务与最终用户的一个接口。
协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
表示层(Presentation Layer):
数据的表示、安全、压缩。
对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层
会话层(Session Layer):
建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话
传输层 (Transport):
定义传输数据的协议端口号,以及流控和差错校验。
网络层 (Network):
进行逻辑地址寻址,实现不同网络之间的路径选择。
数据链路层 (Link):
建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正
物理层(Physical Layer)
物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的
环境。用传输介质来提供物理连接,实现信息的传输
四层模型
数据链路层:arp协议
网络层:ip,icmp协议
传输层:tcp,udp协议(TCP传输控制协议为应用层提供可靠的、面向连接的的服务。
udp为应用层提供不可靠、无连接和基于数据报的服务,UDP协议只是单地通知应用程序发送失败
通信双方不保持一个长久的联系)
应用层:ping,telnet,ospf,dns等协议
包过滤防火墙:现在静态包过滤防火墙市面上已经看不到了,取而代之的是动态包过滤技术的防火墙。
代理防火墙:因为一些特使的报文可以轻松突破包过滤防火墙的保护,比如SYN攻击、ICMP 洪水攻击,所以一代理服务器作为专门卫用户保密或者突破访问限制的数据转发通道的应用failing防火墙出现了。
其实用了一种应用协议分析的新技术。
状态监测防火墙:其基于动态包过滤技术发展而来,加入了一种状态监测的模块,近一点发展会话过滤功能,会话状态的保留是有时间限制的,此防火墙还可以对报的内通进行分析,从而避免开放过多的端口。
WAF:Web应用防火墙 —应用层的攻击防护
IDS:入侵检测系统 —
IPS:入侵防御系统
SOC:安全运营中心
SIEM:信息安全事件管理
Vulnerability Scanner:漏洞扫描器
UTM:统一威胁管理
抗DDOS产品
FireWall:防火墙—上网行为管理软件,主机安全
VPN:虚拟专用网络
范围:应用层防护软件
作用:
通过特征提取和分块检索技术进行模式匹配来达到过滤,分析,校验网络请求包的目的,在保证正常网络应用功能的同时,隔绝或者阻断无效或者非法的攻击请求
可防:(源自应用程序的安全漏洞)
SQL注入漏洞,跨站脚本XSS,文件包含和安全配置错误等漏洞
特点:
区别与传统防火墙,可以防护特定的应用程序,传统防火墙只能在服务器之间作用
缺点:
1) 特定的防护手段可以被绕过或者无效化,必须同攻击手段一起升级进步,否则将失去效用。
2) 需要和入侵检测系统等安全设备联合使用,且防护程度和网络的性能成反相关。
范围:网络层防护软件
作用:(识别攻击行为并且报警)
积极主动的防护措施,按照一定的安全策略,通过软件,硬件对网络,系统的运行进行实时的监控,尽可能地发现网络攻击行为,积极主动的处理攻击,保证网络资源的机密性,完整性和可用性。
特点:
1) 是一个积极主动的监听设备。
2) 无需有流量经过,可以实时镜像流量过去分析监控
3) 不影响网络的性能。
4) 部署位置尽可能靠近攻击源或者受保护资源(服务器区域交换机,互联网接入路由后第一个交换机,重点保护源交换机)
缺点:
1) 误报率高
2) 没有主动防御能力,仅仅是监控或者少量的反制能力
3) 不能解析加密的数据流
作用:(实时监控网络行为,中断或者调整隔离网络非法行为,比IDS具有防御能力)
是计算机网络安全设施,是对防病毒软件和防火墙的补充。入侵预防系统是一部能够监视网络或网络设备的网络数据传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络数据传输行为。
必要性:
传统防火墙作用在2-4层,对4层以上的防护作用很小(4层以上需要拆数据包,而拆数据包会影响速率),病毒软件工作在5-7层,这样中间4-5层属于空挡,所以IPS是作为病毒软件和防火墙的补充,作用在4-5层
特点:
比IDS不仅可以防护还具有了反制,组织攻击的能力,防攻兼备
缺点:
IPS的防护方式一般以阻断受保护源和外界的联系为主,这样带来的一个弊端就是,网络资源被保护了,但是同时该网络资源的对外提供的服务也被阻断了或者削弱了,这就导致了一种敌我两伤的局面,而有些服务一旦停止,对运营者来说将是一笔不小的损失。
21:FTP文件传输协议
22:SSH远程连接
23:TELNET远程登录
25:SMTP邮件服务
53:DNS域名系统
80:HTTP超文本传输协议
443:HTTPS安全超文本传输协议
1433:MSSQL
3306:MYSQL
3389:windows远程桌面服务端口
7701:weblogic
8080:TCP,HTTP协议代理服务器:Apache-tomcat默认端口号
一、青藤 蓝队
1、自我介绍
2、设备误报如何处理(日志)
3、如何查看区分是扫描流量和手动流量(扫描数据量大,请求有规律,手动扫描间隔较少)
4、被拿shell了如何处理(排查、清除、关站、看看可有即使修复的可能,没有可能就关站)
5、如何分析被代理出来的数据流
二、360 蓝队
1、溯源 态势感知 安全设备
2、基础的漏洞原理 ssrf xxe Redis几种利用方式
三、漏洞盒子 1、印象最深的渗透经历,技术关键点
2、是否在漏洞平台有提交过漏洞,以及排名情况
3、平时挖洞的情况,平台提交漏洞和渗透测试方面
四、未知厂商 1、讲一下使过的中间件漏洞
2、getshell后如何维持权限
3、隧道、流量代理方面
五、长亭-红队 红队(内容稍多)
问:打点一般会用什么漏洞
优先以java反序列化这些漏洞像shiro,fastjson,weblogic,用友oa等等进行打点,随后再找其他脆弱性易打进去的点。
因为javaweb程序运行都是以高权限有限运行,部分可能会降权。
问:平常怎么去发现shiro漏洞的
登陆失败时候会返回rememberMe=deleteMe字段或者使用shiroScan被动扫描去发现
完整:
未登陆的情况下,请求包的cookie中没有rememberMe字段,返回包set-Cookie里也没有deleteMe字段
登陆失败的话,不管勾选RememberMe字段没有,返回包都会有rememberMe=deleteMe字段
不勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字段。但是之后的所有请求中Cookie都不会有rememberMe字段
勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字段,还会有rememberMe字段,之后的所有请求中Cookie都会有rememberMe字段
问:shiro有几种漏洞类型
shiro 550
shiro 721问:weblogic权限绕过有没有了解
好像是用./进行绕过的
问:fastjson漏洞利用原理
回答:在请求包里面中发送恶意的json格式payload,漏洞在处理json对象的时候,没有对@type字段进行过滤,从而导致攻击者可以传入恶意的TemplatesImpl类,而这个类有一个字段就是_bytecodes,有部分函数会根据这个_bytecodes生成java实例,这就达到fastjson通过字段传入一个类,再通过这个类被生成时执行构造函数。
问:weblogic有几种漏洞
weblogic就好多了,基于T3协议的反序列化;基于xml解析时候造成的反序列化,还有ssrf,权限绕过等等
问:IIOP听说过吗,和什么类似
java RMI通信,也就是远程方法调用,默认是使用jrmp协议,也可以选择IIOP。
问:这几个漏洞不出网情况下怎么办
让这几个漏洞回显
问:拿到webshell不出网情况下怎么办
reg上传去正向连接。探测出网协议,如dns,icmp
问:dns出网协议怎么利用
将域名解析指向自己的vps,然后设置ns记录等等,不记得了
问:横向渗透命令执行手段
psexec,wmic,smbexec,winrm,net use共享+计划任务+type命令
问:psexec和wmic或者其他的区别
psexec会记录大量日志,wmic不会记录下日志。wmic更为隐蔽
问:Dcom怎么操作?
通过powershell执行一些命令,命令语句比较复杂,不记得了
问:抓取密码的话会怎么抓
procdump+mimikatz 转储然后用mimikatz离线读取
Sam 获取然后离线读取
问:什么版本之后抓不到密码
windows server 2012之后(具体我也忘记了)
问:抓不到的话怎么办
翻阅文件查找运维等等是否记录密码。或者hash传递、或者获取浏览器的账号密码等等。
问:域内攻击方法有了解过吗
MS14-068、Roasting攻击离线爆破密码、委派攻击,非约束性委派、基于资源的约束委派、ntlm relay
问:桌面有管理员会话,想要做会话劫持怎么做
提权到system权限,然后去通过工具,就能够劫持任何处于已登录用户的会话,而无需获得该用户的登录凭证。
终端服务会话可以是连接状态也可以是未连接状态(这里当时没答上来,觉得有点鸡肋。我也不知道是不是这个意思)
面试难度:中-
六、qax
1、请求方式几种(目前常用八种请求方式,分别是GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT,get和post最常用)
2、域名解析记录对应工具(nslookup、万能ping)
3、web十大漏洞
(1)注入,(2)失效的身份认证和会话管理(使用别人会话id,包含身份信息信用卡),(3)XSS跨站(存储、反射、dom),(4)不安全的对象直接引用(如?id=89改成?id=90,可以看到id=90的信息),(5)伪造跨站请求(CSRF可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点)(6)安全误配置,(7)限制URL访问失败(缺少功能级访问控制),(8)未验证的重定向和转发,(9)应用已知脆弱性的组件,(10)敏感信息暴
4、溯源和反制(https://mp.weixin.qq.com/s/WXsEJZpGkpca6jpJWOrDtA,溯源关键点别人挂了代理怎么办)
5、windows提权
6、Linux提权,排查思路(看账号、进程、流量、日志、木马)
7、各种函数(主要指php漏洞函数serialize 和 unserialize,MD5
compare,is_numeric,extract()变量覆盖,命令执行函数system、exec,文件包含require()、require_once()、 include()、include_once()),提权,加固,后门8、分析日志工具(ELK,日志IP,时间,恶意流量,攻击方式,攻击哪里)
七、北京天融通信
1、HW经历(取得的成果)、主要负责什么
2、溯源和应急(参考GitHub上应急响应思维导图, )
通常看日志记录情况,日志详细的情况,ip、时间、事件(恶意流量或者恶意访问日志)、作用,被攻击的地方即使修复,清理后门
3、擅长web还是内网,然后谈谈
八、安恒
1、基础漏洞
2、溯源和应急响应
九、长亭 问的偏细节
1、php序列化
2、溯源
十、国誉网安
3.20
1、谈谈工作和HW经历
2、谈一下现在有一台windows server2008 如何提权
3、windows系统常见漏洞编号
十一、某厂商-红队
1.谈谈工作HW经历
2、代码分析,根据面试方发来的代码进行分析
(1)weblogic反序列化代码
(2)一个PHP的exp,分析哪个版本,并分析exp上各参数的作用(thinkphp5的一个版本)
十二、天融信
3.22
1、谈谈HW经历
2、谈谈挖洞和渗透印象较深的两次,过程、方法,获取了什么权限
3、谈谈内网流量如何出来