1. 简述一下目前主流编程语言的相关漏洞
答:
- 这个题的相关思路就是聊一聊目前主流语言的漏洞,你可以从两个方面进行阐述:
-
- Java 、Python、PHP(漏洞大户)的相关漏洞,其实也是那几个;
- 聊聊你知道的框架 - 比如Apache基金会框架、PHPAdmin、Python主流Web架构 - jinjia2、Django等;
- Python的漏洞:
- 注入:Django 2022新的SQL注入漏洞,即使Django采用参数化查询和ORM的防范SQL注入也存在字典注入的方式,2022最新的CVE漏洞利用QuerySet.annotate()、aggregate()和extra()方法进行注入;
- XML: XML的读取会造成DoS攻击;XXE 攻击的利用;
- assert 语句: 不要使用 assert 语句来防止用户访问特定代码段。默认情况下,Python 以 debug 为 true 来执行脚本,但在真实环境中,通常使用优化运行,这将会跳过 assert 语句并直接转到安全代码,而不管用户是否是 is_admin 。
- site-package: 伪造官方库进行代码注入和代码伪造;
- Java漏洞:
- Java最著名的就是反序列化漏洞,反序列化漏洞出现在WebLogic、JBoss等常见Web容器;
- Structs2就是任意代码执行
- Log4j2 也是很火的漏洞
- Shiro 的身份验证绕过、远程代码执行;
- PHP漏洞:一抓一大把
- ThinlkPHP的远程代码执行
- PHP的反序列化
- ThinkPHP文件包含
- PHP不安全函数: chroot、exec、一句话木马、proc_open等
-
2.如何发现目前在运行的相关系统正在遭受DDoS攻击?(10分)
答:
-
问题背景:
- 首先现在大多数企业已经不自己购买抗DoS的相关防御设备了,或者只是简单部署DoS流量防御设备系统,因为如果企业遭受到DoS攻击指望那几台互联网出口的抗D设备已经无法满足需求,如果互联网出入口出现高峰流量就会直接将设备打挂,从而设备流量被绕过,还是无法做到流量清洗和DoS的相关防御;
- 本身这种攻击就没有有效的防御方法,最好的方法是在运营商上就做好流量清洗和流量黑洞,才能更有效的防范,因此最为省事和有效的办法是购买运营商的流量清洗服务;
- CDN其实也是一个很有效的防范DoS攻击的途经,也是成本低廉的解决问题的方式;
-
如何发现系统正在遭受攻击?
-
首先,可以在现网中部署流量监视系统或者流量审计系统,从而对业务流量进行监视,进行业务正常流量和IP地址的追踪和观察,形成自身的业务流量安全相关模型,明确内网服务器或者自身应用系统对于服务流量的上限,设立相关的警戒阈值,超过该阈值需要考虑是否遭受DoS攻击;
- 利用分布式多核硬件技术,基于深度数据包检测技术(DPI)监测、分析网络流量数据,快速识别隐藏在背景流量中的攻击包,以实现精准的流量识别和清洗。恶意流量主要包括 DoS/DDoS 攻击、同步风暴(SYN Flood)、UDP 风暴(UDPFlood)、ICMP 风暴(ICMP Flood)、DNS 查询请求风暴(DNS Query Flood)、HTTP Get 风暴(HTTP Get Flood)、CC 攻击等网
-