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

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


当前回答

对我来说,最糟糕的,最可怕的,最危险的,犯罪的疏忽,但在彻底破坏整个系统的安全方面,奇怪的优雅总是来自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);
}

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

其他回答

我曾经有幸尝试保护一个网站(ASP Classic),该网站“需要”密码才能访问管理界面。当然,如果你只是去其中一个管理页面的地址,你可以做任何你想做的,登录与否。

他们想知道自己是怎么被黑的。

我在浏览一个购物网站,当我输入我的电子邮件地址时,我注意到地址输入页面的URL只有“?nOrderID=301”。

下车。我把数字改成99,你猜怎么着?我得到了一位住在本德的女士的名字,地址和电话号码。

几周前我确实给网站管理员发过邮件,他听起来不太高兴,但这个问题仍然没有解决……

有一段时间,该公司的整个员工信息列表(从地址到社会安全号到工资的所有信息)都存储在密码保护的Access数据库中。

使用您最喜欢的搜索引擎,查找如何恢复访问数据库的密码。是的。

拖拽到这里,你就会得到密码。字典中五个字母组成的单词。

这是很久以前的事了……但DEC的VAX系统过去是随账户一起发货的:

系统登录: 密码:经理

而且 登录:字段 服务密码:

大多数系统管理员都知道SYSTEM帐户,并且大多数(但不是全部)会更改它。然而,并不是所有人都知道FIELD帐户也有SYSTEM特权。

我们有一个旧的计算机集群,在我工作的一个实验室里没有运行。几个本科生认为,让它运行起来会很有趣,这样他们就可以学习一点并行计算了。他们让它运行起来,结果证明它非常有用。

One day I came in and was checking out the stats...It was running at 100%. Now this was a 24 node cluster and there were only 3 of us that ever used it so it was a little strange that it was running at this load. I started playing with it, trying to figure out what was loading it...turned out someone had gained access and was using it as their own little porn server and spammer. I asked the undergrads what kind of security they put on it, they looked at me and said "Security? We didn't think it would need any."

我给它加了个密码,就这样。把它用作色情服务器的人原来是一个本科生的朋友。

“网络编程安全101”风格的最大错误是招聘机构的搜索页面提供了“下一页”链接,这只是获取更多工作列表的SQL语句。您可以轻松地将此URL更改为任何其他SQL语句,包括“drop table X”。如果你这么做了,他们的整个网站都会完蛋。