介绍几种常见的web攻击手段
1.xss(跨站脚本攻击):
通过将JavaScript的代码当作参数发送给服务端,服务端如果没有做出处理直接显示在页面上就可能会执行javascrip的代码,从而获取用户的数据。
2.sql注入攻击:
通过巧妙的设计参数,导致sql语句执行了非本意的操作。例如 select * from user where user_name = 'sevenmon' and password = 'sdfsdfsadfsdf' 本来是想通过传入user_name 和 password 执行登陆判断操作。可是如果为传入的是 'sevenmon' or 1=1 那么执行的sql 就是 select * from user where user_name = 'sevenmon' or 1=1 and password = 'sdfsdfsadfsdf' 那么是不是只要为知道用户名 为就可以登陆任何人的账号
3.os命令注入攻击
也是通过巧妙的设计参数,然后web执行操作系统的命令,导致用户可以所以的操作操作系统。这也就是为什么,php7会默认关闭system等一些执行操作系统命令的函数。
4.http首部注入攻击
通过修改参数,改变响应的首部字段,比如修改session,将参数加入%0D%0A(换行)
例如:通过将cat的值设置为,cat=101%0D%0Aset-cookie:sid=1234,就可以达到修改cookie的目的了
Location:http://dsf.com/?cat=101
set-cookie:sid=123123
如果加入两个换行符,那么接下来的内容就会被当作主体来操作(例如伪造页面让用户输入账号密码)
5.目录遍历攻击
通过任意修改目录参数,进行对目录的篡改。例如上传的时候,千万不能让前端用户给出目录的参数,如果这样,用户可以随意上传文件到任意位置,太危险了。
6.远程文件包含漏洞
主要就是针对php的include和require
这两个包含路径是可以包含js的(可以是远程的)。所以不要把包含路径让用户输入
但是php现在已经加入allow_url_include这个开关,是否可以包含url的文件
所以基本现在不会再出现问题了
7.dos攻击
利用并发请求,使资源资源过载