web开发常见安全问题
来源:互联网 发布:金山软件招聘信息 编辑:程序博客网 时间:2024/06/05 22:44
XSS注入
概念
XSS又叫CSS(Cross Site Script),跨站脚本攻击。指的是恶意攻击者往web页面里插入恶意脚本代码,而程序对于用户输入内容没有过滤,当用户浏览时,嵌入的脚本代码被执行,达到恶意攻击用户的目的。
分类
XSS漏洞可分为反射型XSS和存储型XSS。反射型XSS是直接将恶意代码的执行结果反射给浏览器,而存储型XSS是将恶意代码存储在服务器端,再输出给前端页面。任何用户访问该页面都会受到攻击。
危害
- 窃取用户cookie
- 网络钓鱼
- 盗取各类用户帐号
- 劫持用户浏览器
- 进行网页挂马
修复方法
htmlspecialchars() 将<>转换为实体,防止浏览器解析为html元素。
addslashes() 双引号前加反斜杠
CSRF漏洞
概念
跨站请求伪造(cross site request forgery)是一种利用用户的身份对网站进行某种操作的漏洞,用户自己没有察觉,但是操作请求是以用户身份发出的。在登录A网站后,访问不受信任的网站B,而该站点包含了对A站点的接口请求代码,这个请求以用户的身份发出。
危害
以用户身份在用户不知请的情况下执行用户操作:修改个人资料、银行转账、等
例子
举例说明:
/**程序代码为changePasswd.php,getUser()为获取当前用户标识,将收到的两个密码进行替换,攻击者伪造攻击代码:<img src="http://server/changePasswd.php?action=1&passwd_new=123&">,将该代码嵌入一个HTML页面,只有登录用户访问该页面,密码就会被修改<?phpif($_GET['action']==1){ $new_passwd = md5($_GET['passwd_new']); $sql = "update user set passwd='$new_passwd' where user='".getUser()."'""; $result = mysql_query($sql);}
修复方法
- 请求使用POST方式提交
- 在表单和服务器session中保存token,对请求进行token校验。
mysql注入
概念
用户传入的参数,没有经过校验,拼接mysql语句进行执行,造成数据库的数据泄露。根据参数分类,可分为数字型和字符型。
危害
- 数据库的数据泄露
- 黑客获取数据库的控制权
修复方法
- 数字型参数进行强制数字转换
- 字符型,通过mysqli_real_escape_string()过滤
- 数据库操作通过PDO等方式操作。
0 0
- web开发常见安全问题
- Web 开发常见安全问题
- Web 开发常见安全问题
- Web 开发常见安全问题
- web开发常见安全问题
- Web 开发常见安全问题
- web开发几种常见的安全问题
- 【常见Web应用安全问题】
- Web站点常见安全问题
- web前端常见安全问题
- web开发中的安全问题
- 浅谈web开发的安全问题
- Web开发安全问题简单汇总
- web开发常见安全问题(SQL注入、XSS攻击、CSRF攻击)
- web开发常见安全问题(SQL注入、XSS攻击、CSRF攻击)
- 常见Web应用安全问题(1 - 4)(一)
- web软件常见安全问题(个人总结)
- 【常见Web应用安全问题】---2、SQL Injection
- 图解 Android 事件分发机制
- Java常用的八种排序算法与代码实现
- 最受欢迎的开源库整理
- 命令行编译java工程项目 javax.servlet
- Mybatis动态Sql映射标签总结
- web开发常见安全问题
- Python中的Numpy、SciPy、MatPlotLib安装与配置
- 析构函数私有化
- c语言求e的x次方
- Nuttx watchdog 看门狗
- IP录音增加对H248即MEGACO协议的支持
- 解决:Error: Could not find gradle wrapper within android sdk. Might need to update yo ur Android SDK..
- redis学习记录04-redis排序命令与设置键过期命令
- 教你配电脑·入门