首页

科技
手机搜狐
SOHU.COM

Web安全与防御措施

php技术大全
2017-02-17
+关注

服务攻击:针对程序漏洞进行攻击常见的有:

SQL注入攻击

文件上传攻击

XSS跨站脚本攻击

CSRF(Cross-site request forgery)跨站请求伪造

程序逻辑漏洞

暴力攻击:如DDOS,穷举密码等

C段攻击 某台服务器被攻陷后通过内网进行ARP、DNS等内网攻击

社会工程学 收集管理员等个人信息等资料尝试猜测其密码或者取得信任等

永远不要相信用户提交上来的数据(包括headercookieseesionId),都可能造假

sql注入 原理:

后台的SQL语句通过字符串拼接后后导致执行各种意想不到的语句,配合sql语句的outfile功能,还能写入一个脚本文件到服务器。

例子:

比如根据用户post来的ID来列出单个人的信息 假设用户提交的id=1 拼接出来为select * from table where id=1 这时执行正常 假设用户提交的为id=1 and 1=1 拼接出来为select * from table where and 1=1 这时执行异常,所以内容都被查出来了

展开剩余77%

又如根据用户提交的job_rul=xxx来拼接,但是攻击者提交了job_rul=sql' or 1=1 limit 1--

//正常的语句select* fromjob_info wherejob_url='sql'limt 10//攻击者提交的 “sql' or 1=1 limit 1-- ”后 变成下面这样 注意--后面有空格select * from job_info where job_url='sql' or 1=1 limit 1-- 'limt 10//上面语句后面 -- 和后面的内容 都表示注释//故只会执行 select* fromjob_info wherejob_url='sql'or1=1//所有信息都被查出来了预防:

在SQL拼接时注意过滤替换用户输入的字符串(但是本人不推荐这种方式)

最安全的是mysql的预编译prepare,PHP的PDO将其实现了。因为语句先编译好了,用户怎么传都是一个参数。

没有过滤就接收用户上传的文件(如.php等文件)或者没有给文件重命名,最后通过攻击者通过web请求导致恶意脚本调用被执行

常见漏洞

CGI漏洞 IIS7.5以下,nginx < 0.8.x 通过123.jpg/1.php可以把 jpg当php执行,原理是其解析向前归递造成的,有人问jpg文件怎么当脚本运行,其实是图片里可以插入程序代码的,具体实现就不透露了

apache,IIS解析漏洞 123.php.jpg apache当成php来运行(IIS6,实测apache2.2.xx有这个问题,2.4.xx已经修复)

攻击原理:攻击者上传带有恶意脚本的123.jpg到网站,获得了所带的程序代码

预防:

用户上传的文件要重命名,这样的话即便攻击者上传了.php,.sh等脚本上来也会被重命名成指定的文件类型(如jpg)导致无法被攻击者执行

确保使用的apache nginx等版本到最稳定的安全版本。

反射型: 比如根据$_GET['username']显示到网页上 有可能被人username=< src='xxx'></>注入代码发给用户点击从而被攻击.也有可能JS读取了URL部分字段导致的 储存型:通过发表文章等把代码存入数据库别人看的时候没过滤就执行出来。 危害:盗取管理员密码 cookie 控制用户ajax等。 预防:入库过滤和显示时过滤(htmlspeicalchar命令等)

csrf攻击 原理:

被攻击网站:用户登录后因为session缘故,浏览器关闭前所有请求都是合法的(不用再精彩账号密码认证了) 当用户登录了网站A,这时候访问黑客的网站B,B站的js代码控制用户去调用网站A的一个脚本:

GET方式 如<img src="http://A.com/deletePost.php"> 这样就相当于以用户的身份去触发了对A站http://A.com/deletePost.php脚本的操作

POST 这种方式要复杂一点,但是还是可以被攻击者利用(构造一个隐藏的html表单,通过js去提交到站点A)以用户的名义去触发操作,比如删除修改密码等,配合XSS攻击效果更明显。

采用验证码,token,敏感操作避免GET(因为可以src等方式触发)

逻辑漏洞

比如删除(或修改)用户信息通过GET或POST id=2这样去修改信息 支付漏洞:用户提交上来的商品数量为负数-10导致总价变化

预防:

脑子是个好东西,希望大家都有

作者:火柴同学

出处:http://www.51glacier.com/blog/web-safe.html

版权归作者所有,转载请注明出处

关注微信公众号:PHP技术大全

PHPer升级为大神并不难!

帅哥为什么要拒绝美女的微信?

声明:本文由入驻搜狐号作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。

网站地图

用户反馈 合作
Copyright © 2018 Sohu.com