安全测试前后端验证(挖坑)

三个功能:

一、文件上传-JS前端验证

对文件上传的后缀名进行验证,符合要求才允许上传,可以由PHP胡总和JS实现,两者的区别在于,PHP代码验证我们无法看到代码,只能进行黑盒测试;JS验证的话验证代码是可以看到的,相当于白盒测试

判断有没有JS验证:
①审查代码
②看反应时间,马上反应说明可能是JS验证,因为不涉及与后端数据进行交互

·浏览器禁用js,相当于没有过滤了就可以直接上传

二、状态回显-Ajax传递数据验证

ajax是js用来传输数据的类型,使用ajax:
请求->返回->ajax验证->结果
意义在于,如上文说到使用JS能在审查元素看到审查规则,如果使用ajax就可以把代码封装起来,之后文件包含使用即可,不会暴露代码

(回头学)

三、参数修改-购买逻辑漏洞
使用Ajax传递数据进行购物验证

1.商品价格以前端价格为准,数据接收价格后运算

抓包,修改价格;修改状态码。就是典型漏洞,实现零元购

2.商品价格以数据库对应价格为准,数据接收价格后运算

3.商品价格以数据库对应价格为准,数据只接受数量后运算

修改数量为负数,绕过

4.商品价格以数据库对应价格为准,数据只接受数量后做过滤运算

数量只能为大于或者等于1的整数

前端验证导致的密码找回漏洞:

比如:在逍遥模拟器打开某金融app,监听。要使用重置密码漏洞。

·首先注册正确的账号,抓包抓住正确的验证码回显信息,保存好

·找回密码,发送验证码(机主会收到信息)

·抓包发现验证码不正确,用刚才保留的正确信息替换,发现绕过验证,实现密码找回

判断小窍门:

看返回报文格式,比如看到有json、code、msgbox可以猜测是使用了前端接收数据处理数据验证,就需要检查一下有没有能攻击的可能

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注