你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
你见过的最糟糕的安全漏洞是什么?为了保护罪犯,限制细节可能是个好主意。
不管怎样,这里有一个关于如果你发现了安全漏洞该怎么办的问题,还有一个关于如果公司(似乎)没有回应该怎么办的问题。
当前回答
对我来说,最糟糕的,最可怕的,最危险的,犯罪的疏忽,但在彻底破坏整个系统的安全方面,奇怪的优雅总是来自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);
}
就盯着它看一分钟。想想你所能做的一切。女士们先生们,这是洛夫克拉夫特的杰作。
其他回答
我曾经接手了一个系统的开发,这个系统在全国有200个客户在使用,它有硬编码的密码。是的,代码实际上写着:
if password = "a"
去年,我离开了一家汽车ERP公司,该公司数百个客户的服务器上都有相同的管理密码。我猜我走后他们没有全部换掉。
访问一个非常有名的在线商店的联系页面,向下滚动,搜索一个电话号码。相反,我发现了一个上传表单,它接受所有的文件类型,实际上把上传的文件放在网站的根文件夹中,这意味着如果一个人上传了一个名为test.php的文件,它将被url mydomain.com/test.php调用:)
由于他们使用osCommerce(开源),因此编写一个脚本来获取所有数据库连接细节,然后下载他们完整的客户数据表,对于任何有足够智商的人来说,这将是不到五分钟的工作。
我联系了他们,最后得到了我下次购买的折扣券,他们在几分钟内删除了上传表单。
输入所需用户名:iboyd
输入密码:*********
该密码已被该用户名使用。请选择不同的密码。
当你丢失了密码和找回表格时,询问用户名和你的电子邮件。并且不验证电子邮件并将密码发送到指定的电子邮件。
刚)一/总动员:
这是在一个本地电视付费/订阅的网站上。很容易找到用户名,很多人使用名字。今天这个电视频道已经破产了(因为其他原因,比如缺乏专业精神)。
有一家银行通过其网站提供一些服务。开发人员考虑了任何作为整个系统的有效用户登录的人,他们使用URL来识别账号,因此只需更改URL上的ID,就可以查看其他账户的余额。
对于认为身份验证和授权是一回事的web开发人员来说,这是非常糟糕的。
此外,银行不通过其网站转账也很好,否则有些人会很富有;-)