许多网站使用由网站用户填写的表单,并提交给服务器。 然后,服务器验证输入并将其保存到数据库。 验证过程有时委托给客户端浏览器或数据库服务器。 如果这些验证不够强大或没有正确编程,他们可能会留下可以被攻击者利用的安全漏洞。 例如,如果一个字段如PAN号码是强制性的,并且如果重复条目的验证不能正确完成,则攻击者可以用伪PAN号码以编程方式提交表单,从而以假条目填充数据库。 这最终可以帮助攻击者种植拒绝服务(DoS)攻击,只需查询页面,询问不存在的条目。 代码挖掘 虽然这与之前的漏洞有点类似,但在破解它的方式上有一些不同。通常,程序员在为各种用户输入设置限制时,会做出假设。典型的例子是用户名不应该超过50个字符,或者数字值永远是正数,等等。 从安全的观点来看,这些假设是危险的,因为骇客可以利用它们。例如,通过填充具有100个字符的名称字段,从而对数据集施加压力,或者通过在数值字段中提供负整数来创建不正确的计算结果。 上面提到的所有攻击都是新手攻击者使用的,遵循好的编程实践可以帮助他们停止攻击。现在我们来看看技术先进的攻击,这在今天也很常见。 Cookie中毒 如前所述,cookie是驻留在浏览器中的小信息片段(在客户端计算机的硬盘驱动器上),并用于存储用户会话特定的信息。它是一个cookie,它能记住我们的购物车内容、我们的偏好和以前的登录信息,以便提供丰富的Web体验。 虽然篡改cookie并不是很容易,但是专业攻击者可以控制它并操纵其内容。 中毒是通过木马或病毒实现的,该病毒位于后台,并持续伪造cookies以收集用户的个人信息并将其发送给攻击者。 此外,病毒还可以改变cookie的内容,导致严重的问题,例如提交购物车内容,以便将购买的商品交付给黑客可访问的虚拟地址,或让浏览器连接到广告 服务器,这有助于攻击者获得资金等。如果会话信息存储在cookie中,专业攻击者可以访问它并窃取会话,从而导致中间人的攻击。 会话劫持 Web服务器同时与多个浏览器进行对话,以接收请求并交付所请求的内容。当每个连接被建立时,Web服务器需要有一种方法来维护每个连接的唯一性。它使用会话令牌来生成动态生成的文本字符串,这些字符串包括IP地址、日期、时间等。 攻击者可以通过在网络上以编程方式或嗅探,或通过对受害者计算机执行客户端脚本攻击来窃取该令牌。 一旦被盗,该令牌可用于创建假Web请求并窃取受害者用户的会话和信息。 URL查询字符串篡改 从数据库服务器中提取数据并将其显示在网页上的网站经常被发现在主URL中使用查询字符串。 例如,如果网站URL是// /,它可以使用// /showdata?field1=10&field2=15作为参数传递field1和field2,并将它们分别 值到数据库,结果输出以网页的形式提供给浏览器。 使这个查询字符串格式容易暴露,用户可以编辑和更改超出预期限制的字段值,或者用垃圾字符填充字段值。 它可以进一步导致用户获得他们不应该获得的信息。 在最坏的情况下,如果字段值是用户名和密码,则只能通过HTTP使用暴力字典攻击来获取系统级访问权限。 跨站点脚本 这是Web技术中最常见的弱点,它可以吸引XSS(跨站点脚本)对所有主要站点和著名站点的攻击。人们已经发现,即使在今天,大量的网站也很容易受到这种攻击。这个漏洞是由于不适当的编程实践和在Web基础结构中无法获得适当的安全措施造成的。 我们知道,客户端浏览器维护自己的安全性,不允许任何人访问网站内容和网站Cookie,用户本身除外。 在这种情况下,Web应用程序中的漏洞让破解者将客户端代码注入用户访问的页面。 这段代码通常使用JavaScript编写。 要了解这一点,请考虑将用户名作为输入的页面,并在屏幕上显示“欢迎用户名”。 让我们假设输入框用JavaScript替代,如下所示:
这里,Web页面可能会最终执行脚本标签,显示对话框消息“You are in trouble”。 这可以由攻击者进一步利用,只需中断cookie,窃取会话并将该代码注入受害者用户的浏览器。 一旦这样做,JavaScript代码将在受害者的浏览器中运行,并尽可能造成损害。 SQL注入 (责任编辑:admin) |