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

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


当前回答

令人惊讶的是没有人提到社会工程,但我从这篇文章中得到了乐趣。

总结:恶意用户可以买几十个u盘,在里面装上自动运行的病毒或木马,然后在深夜把这些u盘撒在公司的停车场里。第二天,每个人都来上班,被闪闪发光的、糖果形状的、不可抗拒的硬件绊倒,并对自己说:“哦,哇,免费的闪存盘,我想知道里面有什么!”——20分钟后,整个公司的网络都被冲洗掉了。

其他回答

在登录时,有一个隐藏的字段,让“网站管理员”选择成功和失败时要包含的文件。

是的,/etc/password工作了。

或者在“log”目录中,有order-xxx。order-xxx.txt包含卡号,包括检查号和验证日期。

对我来说,最糟糕的,最可怕的,最危险的,犯罪的疏忽,但在彻底破坏整个系统的安全方面,奇怪的优雅总是来自the Daily WTF:

客户端PHP

function saveform()
{
  var firstName = escapeSql(mainForm.elements.txtFirstName.value);
  var lastName = escapeSql(mainForm.elements.txtLastName.value);
  /* ... */
  var offerCode = escapeSql(mainForm.elements.txtOfferCode.value);

  var code =
  '  $cn = mssql_connect($DB_SERVER, $DB_USERNAME, $DB_PASSWORD)           ' +
  '          or die("ERROR: Cannot Connect to $DB_SERVER");                ' +
  '  $db = mssql_select_db($DB_NAME, $cn);                                 ' +
  '                                                                        ' +
  '  if (mssql_query("SELECT 1 FROM APPS WHERE SSN=\''+ssn+'\'", $cn)) ' +
  '  { $ins = false; }                                                     ' +
  '  else                                                                  ' +
  '  { $ins = true; }                                                      ' +
  '                                                                        ' +
  '  if ($ins) {                                                           ' +
  '    $sql = "INSERT INTO APPS (FIRSTNM, LASTNM, ..., OFFERCD) VALUES ("; ' +
  '    $sql+= "\''+firstName+'\',";                                        ' +
  '    $sql+= "\''+lastName+'\',";                                         ' +
  '    $sql+= "\''+offerCode+'\')";                                        ' +
  '                                                                        ' +
  '  /* ... */                                                             ' +
  '                                                                        ' +
  '  mssql_query($sql, $cn);                                               ' +
  '  mssql_close($cn);                                                     ';

  execPhp(code);
}

就盯着它看一分钟。想想你所能做的一切。女士们先生们,这是洛夫克拉夫特的杰作。

简单地说

exec unchecked_parameter_from_the_web

在Python中解析用户给出的字典字面量。那真的很可怕。

这不是安全漏洞,而是那些把自己的产品标榜为高安全性的公司的安全耻辱(这是他们的主要特征之一)

这是关于“安全登录”的页面为合作伙伴。是这样的:

第一次你通过电子邮件获得明文密码,一旦你登录,你当然不会在第一屏幕上阅读废话,你只是跑去找你要找的东西(文档或软件),然后注销。

但这里有个技巧,下次你尝试登录时,你的密码不再有效,因为你应该有新密码,他们每次都会在你的个人资料下发布在网站上。所以在交换了几封电子邮件后,他们给我发了大约30个列举的一次密码列表,我每次只能使用一次。(我花了一周时间和几封邮件重新协商这个列表)

所以我打印了这个密码列表,贴在我桌子前的墙上,每次登录时我都用钢笔涂掉一个密码。我可不想有人从我桌前走过看到这份名单。

我通过更改ServerFault beta访问cookie的域进入http://dev.superuser.com/。(他们现在已经修好了)