一、没有限制URL访问的概念
这里所说的没有限制URL访问,包括两个方面:一方面是确实应用没有对URL的访问做出限制,另一方面是程序对URL的访问做出了限制,但是限制没有起到作用。这两种情况都可以导致攻击者访问一些未授权的页面,查询到本不该查询到的信息等。
二、没有限制URL访问体现在哪些方面?
对URL除了可以做SQL注入和XSS注入之外(这这种情况归结到XSS注入和SQL注入攻击,这里不再详细说明)。
下面主要讲本篇博文提到的没有限制URL访问方面的内容,主要体现在以下方面:
URL中参数显示不正确,或者不需要显示的参数显示出来。
篡改URL中的参数可以带来严重的后果。例如:URL中带有价格的参数,是不是修改URL上的价格,可以修改商品的实际价格等,这些都会带来严重的影响。
对需要授权才可以访问的页面没有做出权限限制,导致攻击者可以访问一些未被授权页面。
三、没有限制URL访问的后果
攻击者可以强行访问一些网页或者用户信息等。
用户可能会访问到一些需要保护的数据。
可以通过URL进行篡改参数的目的,带来严重后果。
四、没有限制URL访问的防御措施
URL参数检查
(1)检查URL中参数信息是否正确:对于URL中的订单号、ID号等可以显示出来的数据,检查是否显示正确,是否正确加密等。
(2)对于需要保护的数据:检查是否没有在URL中显示出来。URL值参数篡改检查
一般对于http://www.example.com/products/1234这样的URL,1234可能代表商品的ID等,可以通过更改此ID查询不同的商品,那么,如果是商品的价格,需要检查是否可以对商品进行更改价格等。权限检查
检查是否可以通过URL直接访问需要登录验证等才可以访问到的页面信息等。