首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Web系统常见编码破绽(开发工程师知晓)

2012-08-16 
Web系统常见编码漏洞(开发工程师知晓)1.头号大敌:SQL Injection原因:程序中对用户输入检查不严格,用户可以

Web系统常见编码漏洞(开发工程师知晓)

1.头号大敌:SQL Injection
原因:程序中对用户输入检查不严格,用户可以提交一段数据库查询代码,根据程序返回的结果,
获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
本质:
对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。
示例:
String query = "SELECT id FROM users WHERE username="+user+" AND password="+pass;
尽量写成
String query = "SELECT id FROM users WHERE username=? AND password=?";
PreparedStatement stmt = con.prepareStatement(query);
stmt.setString(1, user);
stmt.setString(2, pass);

2.潜在威胁:XSS(Cross Site Script)跨站脚本漏洞
现象:
上传js脚本,html文本,uplaode image与iframe结合,窃取用户名、密码
解决:
输出时使用html encode 转义字符,使得成为纯文本输出
输入处做filter,过滤可执行的html代码

3.FCKEditor等文件上传漏洞:
原因:
对可上传的文件类型控制不严格,导致可以上传可执行的脚本,从而导致服务器被控制
解决方法:
使用正确的函数
白名单与黑名单
禁止上传目录有执行脚本的权限
不要在url中显示上传文件的相对路径

4.越权问题:auth-bypass
解决:
检查每个操作是否进行授权,授权给谁

5.HTTP头的安全隐患:这是一块盲区,http头中的字段很容易被修改
解决:
不要信任来自http头中的取的字段

6.Web 容器自身规则漏洞
现象:Phpshell.php.rar.rar.rar
Apache只会解析第一个 “ . ”
解决:
编码注意

7.暴力破解:验证码可以被暴力破解
解决:
对暴力破解尝试进行帐户锁定,可能会造成恶意尝试锁定帐户

热点排行