本文目录一览:
- 1、SpringBoot 防止SQL注入、XSS攻击、CSRF/CROS恶意访问
- 2、xss攻击h和ddos攻击的区别
- 3、xss能设置代理服务器吗
- 4、应对APT 攻击的措施或方法有哪些
- 5、应对APT 攻击的措施或方法有哪些?
SpringBoot 防止SQL注入、XSS攻击、CSRF/CROS恶意访问
一、SQL 注入问题
SQL 注入即是指 web 应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在 web 应用程序中事先定义好的查询语句的结尾上添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
简单来说,就是将大部分 SQL 语句当参数传入系统中,从而获取系统中的数据。下面简单举例说明
系统中有这样一条信息 SQL 语句执行,分页查询所有用户,每页查询 20 条,并且根据指定字段进行排序,也就是说排序字段也是参数传递过来的
SQL 注入问题分析:
这样很简单的一句话 SQL,就可以把系统搞炸掉,这种方式可以实现删库跑路
以上语句会把整个 test 数据库所有内容都删掉
尽量用预编译机制,少用字符串拼接的方式传参,它是 sql 注入问题的根源。
有些特殊字符,比如:%作为 like 语句中的参数时,要对其进行转义处理。
需要对所有的异常情况进行捕获,切记接口直接返回异常信息,因为有些异常信息中包含了 sql 信息,包括:库名,表名,字段名等。攻击者拿着这些信息,就能通过 sql 注入随心所欲地攻击你的数据库了。目前比较主流的做法是,有个专门的网关服务,它统一暴露对外接口。用户请求接口时先经过它,再由它将请求转发给业务服务。这样做的好处是:能统一封装返回数据的返回体,并且如果出现异常,能返回统一的异常信息,隐藏敏感信息。此外还能做限流和权限控制。
使用 sqlMap 等待代码检测工具,它能检测 sql 注入漏洞。
需要对数据库 sql 的执行情况进行监控,有异常情况,及时邮件或短信提醒。
对生产环境的数据库建立单独的账号,只分配 DML 相关权限,且不能访问系统表。切勿在程序中直接使用管理员账号。
建立代码 review 机制,能找出部分隐藏的问题,提升代码质量。
对于不能使用预编译传参时,要么开启 druid 的 filter 防火墙,要么自己写代码逻辑过滤掉所有可能的注入关键字。
XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash 或者甚至是普通的 HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和 cookie 等各种内容。
通常情况下,被用来盗用 Cookie、破坏页面结构、重定向到其他网站等
对用户输入的表单信息进行检测过滤
CSRF - Cross-Site Request Forgery - 跨站请求伪造:
攻击可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击站点,从而在未授权的情况下执行在权限保护之下的操作,CORS - Cross Origin Resourse-Sharing - 跨站资源共享,恶意访问内网敏感资源。
有效的解决办法是通过多种条件屏蔽掉非法的请求,例如 HTTP 头、参数等:
防止大规模的恶意请求,niginx 反向代理可以配置请求频率,对 ip 做限制。nginx 可以很方便地做访问控制,特别是一些偶发性的大量恶意请求,需要屏蔽处理。
屏蔽 ip 地址
屏蔽 user-agent
屏蔽代理 ip
有两种情形会需要屏蔽代理 ip:一是代理 ip 访问,二是负载均衡(real-ip 请求负载均衡服务器,再代理给后端 server)
创建 XssAndSqlHttpServletRequestWrapper 包装器,这是实现 XSS 过滤的关键,在其内重写了 getParameter,getParameterValues,getHeader 等方法,对 http 请求内的参数进行了过滤
xss攻击h和ddos攻击的区别
XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
xss能设置代理服务器吗
xss能设置代理服务器。
代理服务器是在用户所属的网络和要连接的外部网络之间起到中介作用的服务器。
如何添加代理服务器:
1、在会话属性对话框的[连接: 代理]的[代理服务器]中点击[浏览]。
2、在代理目录对话框中点击[添加]。结果:出现代理设置对话框。
3、输入代理服务器的名称、代理服务器的类型及主机信息和用户信息。4、点击[确定]进行添加。在代理目录对话框中可添加、编辑、删除代理服务器。
应对APT 攻击的措施或方法有哪些
我认为防御APT攻击,和增强一个企业的信息安全程度是一致的。信息安全的整体思想其实就在对抗APT。下面都是杂谈。
(1)网络设备和服务
1. 合理配置边防设备,例如防火墙。具备基本的出入过滤功能,条件允许的实况下使用屏蔽子网结构。防火墙策略按照默认拒绝。如果愿意安装入侵检测系统更好。
2. 使用有相关安全技术的路由器,例如很多新的路由器有一定的抗ARP攻击的能力。
3. 善于使用代理服务器(例如反向代理)、web网关(例如一些检测xss的软件)
4. 内部的办公工作,设计为只有内网用户可以进行。有子公司的情况下,使用VPN技术。
5. 邮件系统要具有防假冒邮件、防垃圾邮件的基本能力。
6. 全网内的终端机器,至少使用可靠可更新的安全反病毒软件。
7. 不必要的情况下,企业内部不要配置公共Wifi。如果需要,限制公共Wifi的权限,使用有效密码,至少使用WPA2的安全设置,条件允许可以隐藏SSID。
8. 企业内部的通讯使用加密,对抗监听和中间人。
(2)安全管理
1. 企业建立安全策略,分配职责,雇佣背景清晰的安全工作人员。
2. 企业制度允许的情况下,合理运用强制休假、岗位轮换的方法。
3. 企业有一定权限的管理人员(例如人事部门),要合理分权,最小权限,不能集中某一些人都有最高的权限,特别领导同志要主动放弃最高权限。
4. 入职和离职的时候要仔细检查,例如离职时要有人监督他收拾东西离开,避免最后一刻留下后门,还要及时清除他的账户。使用证书的企业,还要停止他的证书。
5. 要建立日志审核的制度,有专门的人员审核边防设备记录的重要信息。
6. 企业架设合理的打卡、门禁制度,作为确定用户的上下班时间,在其不在职时间的奇怪访问,很可能是攻击。
7. 员工定期清理自己的桌面(不是电脑桌面),目的是确保秘密的文件没有被随意放置。
8. 员工系统使用强密码,使用要求密码的电脑屏保。
9. 员工使用的电子设备有基本的防盗能力,至少有锁屏图案,最好有远程数据抹除,如果有全设备加密更好。
10. 及时更新公司的操作系统到稳定的安全版本,这样可以有效对抗新攻击。特别是web服务器。
11. 设立一定的监督记录,例如员工不要使用电驴这些可能泄漏敏感信息的内容。
12. 雇佣有资质的单位,对员工进行安全培训,使员工明白基本的安全知识。
(3)物理安全
1. 建筑要有一定的防盗设计,例如人造天花板的设计、重要的门有B型以上的锁。
2. 高度机密的环境下,可以使用电磁屏蔽的技术,一般用于机房。
3. 雇佣必要的保安人员,设置摄像头。
(4)Web安全
1. 企业的Web服务器很可能受到攻击,应该配置基本的安全防护软件,尽量使用适当硬化的系统(有条件的情况下配置Linux而不是Windows,并删除不必要的功能和服务)。
2. 企业的Web应用,如果自身没有安全开发的能力,应该外包给有资质,特别是经济情况正常的企业完成。要避免为了节省费用,使用小家的企业去做。
3. 内网如果有Web服务(如内部办公,应该和外网适当分离。
4. 隐藏一些可能泄漏服务器软件类型和版本的信息。
(5)长期的安全维护
1. 雇佣有能力的、安全底细清楚的安全人员,或者咨询外面的公司。
2. 定期使用缺陷扫描仪、端口扫描仪等等进行检查。
3. 有条件的企业,应该配置蜜罐或者蜜网。
4. 建立安全基准,有助于识别未知的安全攻击。
应对APT 攻击的措施或方法有哪些?
应对APT攻击的措施:
1.就是针对高级威胁的判定。
近年来,有组织的APT攻击愈发呈现出隐蔽性与多样化,并且往往针对商业和政治目标展开长期的经营与策划。 不过一旦得手,其影响则是巨大而深远的。
正是由于APT攻击针对性强、隐蔽性高、代码复杂度高等特点,传统的安全防御手段往往应对乏力,而受到攻击的个人或机构更是无法进行有效判定。
任何静态的防御技术对于APT攻击来说都是基本无效的。 因为APT攻击面往往很小,单纯依靠本地数据监测,无法进行有效判定。
2.则是在判定后,如何进行有效处置。
各种传统的安全防护技术与防护产品在APT攻击的检测与防御中仍将发挥基础性作用,不仅要进行常规系统防御,还要成为探测攻击信息的主要情报来源。
黑客大杀器——APT:
从APT名字中的高级和持续性这两个单词中就能明白APT同一般的攻击手法不是一个段位。以伊朗核设施被震网病毒攻击案例为例。
早在05年某超级大国就通过各种手段突破伊朗核设施的层层防护,将病毒植入其中。震网病毒造成伊朗1/5的离心机报废,直到2012年因为在一个U盘中发现了震网病毒才彻底解决掉这个问题。