从后端角度看安全
创始人
2024-02-06 06:21:53
0

跨站脚本攻击(XSS)

什么是XSS

跨站脚本工具,全程是Cross Site Script,为了和CSS 区分,所以叫XSS。
XSS 攻击,通常指黑客通过HTML注入,来纂改了网页,插入恶意脚本。
人话就是把用户的数据当成了html代码的一部分来运行了
在线练习

反射型XSS
反射型XSS又称非持久型XSS,只是简单把用户输入的数据反射给浏览器

存储型XSS
存储型XSS又称持久型XSS

为什么注入了就能运行

url?name=

欢迎用户:{{name}}

在jsp或者asp这类后端渲染的会出现xss
因为 后端会把值直接渲染,返回给浏览器

欢迎用户:

为什么现在vue或者现代化的前端框架中xss会很困难?

欢迎用户:{{name}}

在vue中插值相当于v-text也就是js中的outerText,只会当成文本处理

危害

你就 想象一下你的网站,别人在里面添加js代码,是不是内裤都给看穿了

  • 代理转发流经被攻击者的所有 Web 流量,即实施中间人攻击。
  • 窃取或篡改应用 cookie 用于会话劫持。
  • 钓鱼

危害很多只简单列几个

防御

1.输入检查
过滤<>等特殊字符,但是可能会改变程序的语义。

2.输出检查
使用安全的编码函数
html ->HemlEncode
javascript ->JavascriptEncode

3.使用现代化的前端框架
4.设置Http only
这样通过js脚本将无法读取到cookie信息,这样能有效的防止关于会话的XSS攻击。

CSRF

跨站点请求伪造(Cross Site Request Forgery)

什么是CSRF

我现在写了一个页面,页面里的逻辑是 请求B站注销账户,然后我把链接发给了你,你点开后,如果你最近登录了B站,那么你的账号就被注销了,这就是跨站点请求伪造

危害

CSRF一般都是产生写数据操作的url,因为CSRF过程中,攻击者是无法获得返回的数据的,所以读的操作对他没有意义。
危害显而易见,直接内库被看穿!
顺便说一下SSRF

预防

  • token
    因为token 不会被自动提交,前端在登录成功后在本地缓存token,然后在请求时在请求头中带上token,
    所以CSRF时并不会自动带上token

SSRF

服务端请求伪造(Server Site Request Forgery)

什么是SSRF

当我们服务端提供了从其它服务器应用获取数据的时候,坏银恶意使用该接口来代理攻击

危害

坏银使用恶意的url来访问本来访问不到的内网服务
例如:
公司的一个老接口,现在已被弃用!

    @ApiOperation(value = "图片-下载代理,解决跨越问题")@RequestMapping(path = "/download", method = RequestMethod.GET)public ResponseEntity download(@RequestParam(value = "url") String url) throws IOException {String fileName = url.substring(url.lastIndexOf("/") + 1);byte[] bytes = IOUtils.toByteArray(new URL(url));ByteArrayResource resource = new ByteArrayResource(bytes);HttpHeaders headers = new HttpHeaders();headers.add("Content-Disposition", String.format("attachment;filename=\"%s", fileName));return ResponseEntity.ok().headers(headers).contentLength(bytes.length).contentType(MediaType.APPLICATION_OCTET_STREAM).body(resource);}

当我本地启动了一个服务时,使用postman请求
请添加图片描述
请添加图片描述
直接内裤被打穿!!

预防

  • 内网开启鉴权
  • 过滤内网服务ip
  • 只允许http和https协议访问

SQL注入

对于后端来说SQL 注入可以说非常熟悉了。

盲注

服务端关闭异常显示,攻击者通过注入条件语句来验证是否存在sql注入漏洞
荔枝:

http://path.com/item?id=1
后端sql: select * from user where id= 1

注入:

http://path.com/item?id=1 and 1=1
http://path.com/item?id=1 and 1=2

通过验证上述sql注入返回结果,来判断是否存在sql注入
(定时攻击)Timing Attack
有时 id 是比较复杂的如uuid,这时你就不能通过上面的梨子来盲注了

在mysql 中 BENCHMARK(count,expr) 用来测试函数执行count次,来查看耗时
因此 通过注入BENCHMARK来判断耗时是否有增加来判断是否存在SQL注入

预防

1.预编译
2.存储过程
存储过程中尽量不要使用动态SQL
3.检查数据类型

在使用数据库时应该严格 遵守最小权限原则。

XML注入

与HTML注入相似,解决方案也是类似,对用户输入中的保留字符进行转义即可

文件上传漏洞

什么是文件上传漏洞

文件上传漏洞是指用户上传了一个可执行的脚本文件。
触发条件:

  • 上传的文件能被web容器解析
  • 用户能访问到该文件

如果文件上传了,不能被用户访问到或者不能被web解析,那就说明这个这个脚本不会运行,所以就不算漏洞!!

预防

  1. 文件上传的目录设置为不可执行
    在实际业务中文件都放到了独立的存储系统中如OSS,一方面降低的系统的性能的损耗,也杜绝的执行漏洞

  2. 判断文件类型,结合MIME Type和文件后缀等,简单的通过后缀名称来判断文件的类型,是不安全的,

  3. 上传后修改文件名称和路径
    文件上传后,黑客想要执行它,就要先能访问到它,这样可以增加攻击成本

  4. 单独设置文件服务器域名
    因为同源策略,会导致大部分攻击失效,同源策略(协议相同,端口号相同,域名相同)是指未经允许的情况下,不能够访问其他域下的内容,如果没有同源限制,那么浏览器中的cookie等其他数据可以任意读取,不同域下的DOM任意操作,ajax任意请求其他网站的数据

拒绝服务

分布式拒绝服务

什么是分布式拒绝服务

分布式拒绝服务也就是 大家所熟知的DDOS (Distributed Denial of Service),利用合理的请求,来造成服务过载从而导致服务不可用!

DDOS分为 网络层和应用层

预防

这里的预防是预防应用层的DDOS

  • 使用钞能力,与运营商合作
  • 限制请求频率
  • 修改配置
    例如nginx 限制每秒请求数等
  • 性能优化
    • 将数据库压力转移到内存中,及时的释放资源
    • 负载均衡
    • CDN
  • 验证码
    虽然验证码,很影响体验,不过能有效的解决自动重放行为

正则攻击

MD正则写的不好,也会造成资源耗尽,从而拒绝服务。
正则的原理是基于NFA,就是个状态机,有缺陷的正则会消化大量的资源。

我是谁:没有绝对安全的系统

参考:
白帽子讲WEB安全

相关内容

热门资讯

自由的英文名言 关于自由的英文名言  自由是一个政治哲学概念,在此条件下人类可以自我支配,凭借自由意志而行动,并为自...
礼貌的名人名言 有关礼貌的名人名言  在学习、工作乃至生活中,大家都知道一些经典的名言吧,巧用名言有助于我们正确对待...
赞美老师的名言 赞美老师的名言(精选50句)  名言是一个汉语词汇,基本意思是很出名的说法,著名的话,一般指名人说的...
经典名言录 经典名言录  名言录  1、一寸光阴一寸金,寸金难买寸光阴。——中国谚语  2、浪费别人的时间是谋财...
感恩教师节名言警句 感恩教师节名言警句  在平时的学习、工作或生活中,大家都对那些经典的名言警句很是熟悉吧,在议论文中,...
历史的名言 关于历史的名言大全  1、历史本身是自然史的一个现实的部分,是自然生成为人这一过程的一个现实的部分。...
交通安全名言警句大全   车在轨上行是幸福路,人在轨上走是危险路。如下是中国人才网给大家整理的交通安全名言警句大全,希望对...
朱熹的名言名句 朱熹的名言名句集锦  1、涵养、致和、力行三者,便是以涵养为首,致和次之,力行又次之。  2、心,生...
教师人生格言 教师人生格言大全  创新是人类进步的不竭动力!  当代能做老师的人必定是不平凡的人;因为教育事业本身...
歌颂母爱的名言摘抄 有关歌颂母爱的名言摘抄  在平平淡淡的日常中,大家总免不了要接触或使用名言吧,下面是小编为大家整理的...
毕达哥拉斯名言   毕达哥拉斯名言  1、友谊是一种和谐的平等。  2、要这样生活;使你的朋友不致成为仇人,使你的仇...
伤感的名言 伤感的名言  1.用一转身离开,用一辈子去忘记。  2.明知道天要下雨就该带把伞,明知道不会有结果就...
犯罪心理第七季的励志名言 犯罪心理第七季的励志名言  1.遗伤难愈——伊莉莎白一世  2.若为奇迹,一切证据皆可为之,若为事实...
我的人生格言 我的人生格言我的人生格言如果你的心灵很敞亮,很仁厚,你有一种坦率和勇敢,那么你有可能收获到许多意想不...
蒙田名言   蒙田名言  1、生命的价值不在于时间的长短,而在于你如何利用它。  2、作为一个父亲,最大的乐趣...
中国古代爱情的名言名句 中国古代关于爱情的名言名句(精选115句)  无论是身处学校还是步入社会,许多人都接触或是使用过一些...
人生励志名言 100句人生励志名言精选  1、没有行动的承诺,不过是一席空话。  2、坚持最初的梦想,年轻没有失败...
李嘉诚名言 李嘉诚名言(通用40句)  扩张中不忘谨慎,谨慎中不忘扩张……我讲求的是在稳健与扩张中取得平衡。船要...
目标与理想的名言警句 目标与理想的名言警句  平凡朴实的梦想,我们用那唯一的坚持信念去支撑那梦想,目标与理想的名言警句。以...
张爱玲名人名言 张爱玲名人名言汇总80句精选  人生最可爱就在那一撒手。下面这篇文章是小编收集整理的张爱玲名人名言,...