web渗透测试 第8课:Web应用程序安全

在本节中,我们将看到应该在哪里执行应用程序安全性。

 

客户端安全

开发人员常见的误解是在客户端执行安全检查,例如在JavaScript中。JavaScript验证电话号码示例!

 

1、首先用户将输入电话号码:

JavaScript首先用户将输入电话号码

2、JavaScript代码将检查值:

JavaScript代码将检查值

3、这值似乎是正确的:

JavaScript值是正确的

4、该值将被发送到服务器:

JavaScript该值将被发送到服务器:

5、如果电话号码格式不正确,浏览器将不会发送请求:

如果电话号码格式不正确,浏览器将不会发送请求

6、JavaScript将检查值:

JavaScript将检查值

7、并拒绝它:

该请求不会被发送到服务器。

这些类型的检查效率低下,很容易绕过,不应该用作安全机制。但是,这些检查可以通过限制处理请求的数量来减少服务器上的负载。如果每个客户端的信息在发送前都是正确的,则会发送更少的不正确请求,这会降低服务器的负载。

 

绕过客户端检查

要绕过客户端检查,您需要设置一个像Burp Suite一样的代理服务器。一旦运行代理,您需要通知您的浏览器通过此代理发送请求(通过根据您的浏览器和操作系统更改其配置或环境变量)。然后,您将看到浏览器发送的请求,并能够拦截并篡改它们。

 

一旦您设置了代理,您将能够拦截浏览器发送的请求:代理

 

然后你可以修改它:

 

 

服务器将响应您修改的请求:代理

 

通过在浏览器中使用正确的值,表单被提交。然而,代理然后用于修改值并开始攻击Web应用程序:代理

 

服务器端

应用程序的安全性应该在服务器端执行。所有收到的信息都不应该被信任; 数据本身或数据格式应被视为恶意。不要指望一个参数是一个字符串; 它可以是散列或数组。不要指望一个参数是一个整数; 它可以是一个字符串。即使当前服务器的主机名(由Host标头提供)也可能是恶意的。不要相信任何事情,并确保你仔细检查一切。如果你构建了一个弱应用程序,很可能有人会发现某些东西。

 

不要指望人们不知道某件事情; 如果你构建的东西很薄弱,很可能有人会发现。

    A+
发布日期:2018年06月27日 23:37:47  所属分类:Web Pentester
最后更新时间:2018-06-29 11:40:55
付杰
  • ¥ 1999.0元
  • 市场价:2999.0元
  • ¥ 58元
  • 市场价:58元
  • ¥ 0.0元
  • 市场价:199.0元
  • ¥ 89.0元
  • 市场价:129.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: