背景
据小道消息说今年的国护疑似提前到了五月份,所以最近也是HW面试的一个高峰期啊,这里分享一下上次的红队面试问题
面试问答
问:Java 反序列化的原理?
答:如果Java应用对用户输入,即不可信数据做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的对象,非预期的对象在产生过程中就有可能带来任意代码执行。
在java编写的web应用与web服务器间java通常会发送大量的序列化对象例如以下场景:
HTTP请求中的参数,cookies以及Parameters。
RMI协议,被广泛使用的RMI协议完全基于序列化
JMX 同样用于处理序列化对象
自定义协议 用来接收与发送原始的java对象
问:如何判断 SQL 注入漏洞成因,如何防范?注入方式有哪些?除了数据库数据,利用方式还有哪些?
答:select*from news where id='$SQL';
当程序执行访问新闻等一些操作都会执行到sql语句进行调用,如果在此调用过程中,提交了不合法的数据,而数据库无法识别则会报错。也就是一切输入都是有害的。
注入类型有6种,可以参考SQLMAP, 报错、盲注、联合、时间、内联、堆叠
注入提交方式: GET、POST、Cookies、 文件头
利用方式:具体看什么数据库类型,像SQLSERVER可以命令执行, MYSQL写
shell有些权限大也可以执行命令但是条件是在IINUX 环境下。
防范:边界,CDN->脚本语言过滤->数据库过滤最小权限->主机。
问:php 的%00截断的原理是什么?
因为在C 语言中字符串的结束标识符%00是结束符号,而PHP 就是C 写的,所以继承了C 的特性,所以判断为%00是结束符号不会继续往后执行。条件是PHP<5.3.29, 且GPC 关闭。
问:为什么aspx木马权限比asp大?
答:aspx使用的是.net技 术 。IIS中默认不支持,ASP 只是脚本语言而已。入侵的时候asp的木马一般是guest 权限而APSX的木马一般是users 权限。
问:mysql 的网站注入,5.0以上和5.0以下有什么区别?
答:5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。5.0以下是多用户单操作,5.0以上是多用户多操作。
问:DOM 型和XSS自动化测试或人工测试的思路
答:人工测试思路:找到类似document.write、innerHTML赋值、outterHTML赋值、window.location操作、写javascript:后内容、eval、setTimeout、setInterval等直接执行之类 的函数点。找到其变量,回溯变量来源观察是否可控,是否经过安全函数。自动化测试参:思路是从输入入手,观察变量传递的过程,最终检查是否有在危险函数输出,中途是否有经过安全函数。但是这样就需要有一个javascript解析器,否则会漏掉一些通过js执行带入的部分内容。
问:什么是Memcache未授权访问,如何利用
答:Memcached 是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以对公网开 放的Memcache 服务很容易被攻击者扫描发现,攻击者通过命令交互可直接读取Memcached 中的敏感信息。
利用方式:登录机器执行netstat-an|more命令查看端口监听情况。回显0.0.0.0:11211表示在所有网卡 进行监听,存在memcached 未授权访问漏洞。telnet 11211,或nc-vv11211, 提示连接成功表示漏洞存在。
问:fastjson漏洞利用原理
答:在请求包里面中发送恶意的json格式payload,漏洞在处理json对象的时候,没有对@type字段进行过滤,从而导致攻击者可以传入恶意的TemplatesImpl类,而这个类有一个字段就是_bytecodes,有部分函数会根据这个_bytecodes生成java实例,这就达到fastjson通过字段传入一个类,再通过这个类被生成时执行构造函数。
微信公众号
扫一扫关注CatalyzeSec公众号
加入我们的星球,我们能提供:
Fofa永久高级会员
常态化更新最新的漏洞POC/EXP
常态化更新未公开、半公开漏洞POC
常态化更新优质外网打点、内网渗透工具
常态化更新安全资讯
开放交流环境,解决成员问题
https://t.zsxq.com/18Fq7QNgv