你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
当前回答
信不信由你,我最近在一个网站上发现了这个:
eval($_GET['code']);
服务器甚至没有安全模式…
其他回答
我有Joe X以前的家庭地址,需要知道他在同一城市的新地址,但没有办法联系到他。我估计他每天都会收到一堆邮购目录,所以我随意拨打了See’s Candies的800电话(与维多利亚的秘密、瑞士殖民地或任何其他大型邮寄公司不同):
我:“嗨,我是Joe x。我想我已经在你的邮件列表中出现过两次了,我的旧地址和新地址都有。你的电脑显示我的地址是[旧地址]还是[假地址]?”
接线员:“不,我们给你看[新地址]。”
对我来说,最糟糕的,最可怕的,最危险的,犯罪的疏忽,但在彻底破坏整个系统的安全方面,奇怪的优雅总是来自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);
}
就盯着它看一分钟。想想你所能做的一切。女士们先生们,这是洛夫克拉夫特的杰作。
前一段时间,JPG图像加载库的窗口存在安全漏洞。被电子邮件中的图像感染。消
我的一个朋友是通过GET登录的。不用说,他吸取了惨痛的教训。
其中一个最简单,但真正值得付出代价的是:
使用PayPal等引擎的支付系统可能存在缺陷,因为在支付成功后,PayPal的响应没有得到应有的检查。
例如:
我可以进入一些CD购买网站,向购物车中添加一些内容,然后在结帐阶段,页面上通常会出现一个表单,其中包含paypal的字段,以及“支付”的提交按钮。
使用DOM编辑器,我可以进入“live”表单,将值从£899.00更改为£0.01,然后单击提交…
当我在PayPal的时候,我可以看到金额是1美分,所以我支付了,PayPal将一些参数重定向到初始购买网站,该网站只验证诸如payment_status=1等参数,而不验证支付的金额。
如果没有足够的日志记录,或者产品是自动分派的,那么成本就会很高。
最糟糕的一类网站是提供应用程序、软件、音乐等的网站。