本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
POST /user/info_do HTTP/1.1 Host: www.XXX.com User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0 Accept: */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Referer: http://www.XXX.com/user/info_view Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Content-Length: 211 Cookie: yunsuo_session_verify=9341a54b945886e9485ff54a17650468; PHPSESSID=sgbibaqe7f8f6okerps8jip916; sdrcUserlockcount=1; sdrcUseruserid=14943 Connection: keep-alive password=A123456&email=1%40qq.com&address=1&postcode=1&mobile=13888888888&sex=man&birthday=0000-00-00°ree=collegeLT&testsite=1&post=1&__hash__=b0b15b067dea00bd34fd39421b7ef684_efc2399e5c4b2071f261e75fe3362d4fa
用户操作个人信息(读取、修改)时,服务端要对当前用户身份进行验证,防止越权操作;
用来标识用户身份的名称或ID可以使用自定义加密,也可以隐藏这些参数,直接从cookie中获取用户信息;
用户修改密码时应该先对旧密码进行验证,或者使用手机短信验证;
用户修改手机号时需要先对原手机号进行验证。
服务端对验证码进行验证,结果为true时直接跳到下一步,无需向客户端单独返回验证结果;
输入新的密码,然后提交到服务端,服务端应对当前用户名、手机号、短信验证码进行二次匹配验证,都为true时,才可以修改成功。
<html><head><title>object moved</title></head><body> <h2>object moved to <a href="/Personal/sys/getpasswordreset">here</a>.</h2> </body></html>
每一个步骤都要对前一个步骤进行验证;
最后提交新密码时应对当前用户名或ID、手机号、短信验证码进行二次匹配验证。
http://www.xxx.com/GetPwd.aspx?q=0x0531387a5a6c1227e4d6ba0ce16dc72e&r=3244166
服务端对客户端提交的token值进行验证;
保证token值使用一次后即失效,防止重复使用;
对用户ID进行自定义加密;
使用根据用户ID生成的token值来标识用户,链接中不携带用户ID。
Code=5000&u=13888888888&Check=dc5b94101cb4f23a9ce6ae71197fc5de&a=5
验证码满足一定复杂度,且限制验证码生效时间;
验证短信验证码的数据包使用token值并验证,防止自动化工具爆破
作者:忘川丶 原文地址:https://www.freebuf.com/articles/web/356605.html