常见的攻击手段--XSS
还有一种场景,用户在表单上输入一段数据后,提交给服务端进行持久化,其他页面上需要 从服务端将数据取出来展示。还是使用之前那个表单nick,用户输入昵称之后,服务端会将 nick保存,并在新的页面展现给用户,当普通用户正常输入zhangsan,页面会显示用户的 nick为zhangsan: <body> zhangsan </body> 但是,如果用户输入的不是一段正常的nick字符串,而是<script>alert("haha")</script>, 服务端会将这段脚本保存起来,当有用户查看该页面时,页面会出现如下代码: <body> <script>alert("haha")</script> </body>
常见的攻击手段--CSRF
假设某银行网站A,他以GET请求来发起转账操作,转账的地址为www.xxx.com/transfer.do? accountNum=10001&money=10000,accountNum参数表示转账的目的账户,money参数表 示转账金额。 而某大型论坛B上,一个恶意用户上传了一张图片,而图片的地址栏中填的并不是图片的地 址,而是前面所说的转账地址: <img src= "http://www.xxx.com/transfer.do?accountNum=10001&money=10000" > 当你登陆网站A后,没有及时登出,这个时候你访问了论坛B,不幸的事情发生了,你会发 现你的账户里面少了10000块…… 为什么会这样呢,在你登陆银行A的时候,你的浏览器端会生成银行A的cookie,而当你访 问论坛B的时候,页面上的<img>标签需要浏览器发起一个新的HTTP请求,以获得图片资源, 当浏览器发起请求的时候,请求的却是银行A的转账地址www.xxx.com/transfer.do?accoun tNum=10001&money=10000,并且会带上银行A的cookie信息,结果银行的服务器收到这 个请求后,会认为是你发起的一次转账操作,因此你的账户里边便少了10000块。
常见的攻击手段—文件上传漏洞
在上网的过程中,我们经常会将一些如图片、压缩包之类的文件上传到远端服务器进行保存, 文件上传攻击指的是恶意攻击者利用一些站点没有对文件的类型做很好的校验这样的漏洞, 上传了可执行的文件或者脚本,并且通过脚本获得服务器上相应的权利,或者是通过诱导外 部用户访问或者下载上传的病毒或者木马文件,达到攻击目的。
为了防范用户上传恶意的可执行文件和脚本,以及将文件上传服务器当做免费的文件存储服 务器使用,需要对上传的文件类型进行白名单(非黑名单,这点非常重要)校验,并且限制上 传文件的大小,上传的文件,需要进行重新命名,使攻击者无法猜测到上传文件的访问路径。
对于上传的文件来说,不能简单的通过后缀名称来判断文件的类型,因为恶意攻击可以将可 执行文件的后缀名称改成图片或者其他的后缀类型,诱导用户执行。因此,判断文件类型需 要使用更安全的方式。
很多类型的文件,起始的几个字节内容是固定的,因此,根据这几个字节的内容,就可以确 定文件类型,这几个字节也被称为魔数(magic number)。
|
|