1.长度限制,例如:
<form method=”post” action=”Shop.aspx?prod=1”>
Product: iPhone 5 <br/>
Price: 449 <br/>
Quantity: <input type=”text” name=”quantity” maxlength=”1”> <br/>
<input type=”hidden” name=”price” value=”449”>
<input type=”submit” value=”Buy”>
</form>
2. 采用javascript验证输入数据的合法性
<form method=”post” action=”Shop.aspx?prod=2” onsubmit=”return validateForm(this)”>
Product: Samsung Multiverse <br/>
Price: 399 <br/>
Quantity: <input type=”text” name=”quantity”> (Maximum quantity is 50)
<br/>
<input type=”submit” value=”Buy”>
</form>
<script>function validateForm(theForm)
{
var isInteger = /^\d+$/;
var valid = isInteger.test(quantity) &&
quantity > 0 && quantity <= 50;
if (!valid)
alert(’Please enter a valid quantity’);
return valid;
}
</script>
3. 禁用的元素
<form method=”post” action=”Shop.aspx?prod=5”>
Product: Blackberry Rude <br/>
Price: <input type=”text” disabled=”true” name=”price” value=”299”>
<br/>
Quantity: <input type=”text” name=”quantity”> (Maximum quantity is 50)
<br/>
<input type=”submit” value=”Buy”>
</form>
可以通过burpsuit绕过以上几种限制,修改html表单的内容进行提交。
在进行渗透测试的时候,首先找到页面都哪里存在上面的情况,然后通过使用burpsuite修改这些值,比如说如果最大长度限制是10,那么输入一个长度为11的值,发给服务器看是否能够正常响应,如果正常响应了,说明服务器没有对输入进行验证,说明这里存在漏洞。