你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。

不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。


当前回答

我最好朋友的弟弟刚刚完成学业。几天前他向周围的人宣称他是一个“网站管理员”和“网络开发人员”。我告诉他,他的网站不好,不安全。 “砍他们”他回答。 10分钟后,我把他的4个网站的全部源代码发给了他:) 他在做类似< ?包括$ _GET['公司');? >”

你越厚脸皮,就越容易受到攻击:)

其他回答

不是最坏的,但也足以造成一些真正的损害。你会惊讶于这一点被忽视的频率有多高。特别是当人们使用这些流行的框架时,

yourwebapp.com/items/edit.php?id=4
yourwebapp.com/items/delete.php?id=4

不确定项的所有者是请求页面的人。 也就是说,你可以登录你的账户,然后在整个应用程序中编辑或删除任何人的项目。

一个简单的检查可以防止很多损坏。

$item = // find your item by the $_GET[ 'id' ];

if( $_SESSION[ 'user_id' ] != $item[ 'user_id' ] ){
  // kick em out they dont belong...
}

不过这还不是我见过的最严重的安全漏洞。但这至少是我自己发现的最糟糕的情况:

一个非常成功的在线有声读物商店在成功认证后使用cookie存储当前用户的身份信息。但你可以很容易地在cookie中更改用户ID,并访问其他账户并在这些账户上购物。

我不知道这是不是最糟糕的,因为我见过一些非常糟糕的,但是:

几年前,我工作的地方引进了一个叫做FOCUS的系统。不知道它还在不在。它非常适合做报告,我们开发并教了大约一千两个非It人员如何生成他们自己的报告。非常方便。他们可以做基本的报告,一些人可以做中等难度的工作,IT可以帮助处理较难的工作。

所有用于报告的数据都被定期复制到FOCUS自己格式的影子数据库中。对于更敏感的数据,我们设置安全选项,加密数据。一切都很好。

So, one day my boss calls me in, and we've lost the password to one of the sensitive databases. It's going to be hard to reproduce the data in this case, so he asks me to see if I can break the security. I had no experience as a hacker, so it took me about 5 or 6 hours to hand him the password. I started by creating some test files, and encrypting them with different passwords. I found that changing one character in the password would change two bytes in the encrypted file, specifically, the high nybble of one byte, and the low nybble of another byte. Hmmmm, says I. Sure enough, they stored the password somewhere in the first 80 bytes of the encrypted, but obfuscated the password by splitting the bytes into nybbles, and storing them in predictable places.

不久之后,我们就编写了一个REXX脚本,该脚本在VM/CMS系统下运行,可以告诉我们任何加密数据库的密码。

那是很久以前的事了——在90年代初,我相信他们已经解决了这个问题。嗯,非常确定。

当我使用Colloquy (IRC)时,密码字段会弹出,但我仍然在主屏幕上集中,所以当我按下enter键时,全世界都知道我的密码,而我却没有意识到。

从早期的在线商店来看:

在购物车的数量栏输入.1即可获得9折优惠。软件正确地将总成本计算为.1 * cost,人工包装订单只是忽略了包装数量前面的奇数“.”:)