分析逆向案例十——逗游网标准sha1加密

网址:

aHR0cHM6Ly93d3cuZG95by5jbi9wYXNzcG9ydC9sb2dpbj9uZXh0PWh0dHBzOi8vd3d3LmRveW8uY24vZGFuamkvbGlzdA==

分析登陆页面的加密。

        返回了两个包,下面明显是登陆包,上面这个也是有用的,一般这种返回两个包的情况。前一个包返回的值一般是登陆包的加密密钥,或者重要的参数。进入第一个包:

        

        发现返回了一个nonce的字符串的值。进入登陆包:

 

        发现有两个加密参数,password和next,再登陆一次:

 

        发现next是固定的值,因此只有password这一个加密参数。跟栈分析:

         

        直接点击匿名登录栈,因为这里有login的字样:

 

        一下子就看到了疑似加密的位置,打上断点,分析:

 

        发现就是密码加密的函数,其实就是标准的sha1加密,对密码加密后,再加上nonce和ts

 

        nonce是不是很眼熟,这不就是第一个包返回的字符串吗(因为我这是第二次登录,所以不同),ts一看就知道是时间戳。

        因此很明了,我们逆向的步骤是,首先访问第一个包,获得nonce参数值,接着对密码进行sha1加密,加密后加上nonce和时间戳,再进行一次sha1加密。

        那么问题来了,如何访问第一个包,观察第一个包的paramaters:

 

        发现需要传入账号,random看起像一个随机数,事实上它是由math.random()函数生成的,具体怎么来的,可以自己去跟栈分析一下。那么结果就很明确了。

        附上标准sha1加密的python代码:

import hashlib
strings = '123456'
sha1encrypt = hashlib.sha1(strings.encode('utf-8')).hexdigest()
print('原来是:',strings,'sha1加密后:',sha1encrypt)

# 结果为  原来是: 123456 sha1加密后: 7c4a8d09ca3762af61e59520943dc26494f8941b

         

猜你喜欢

转载自blog.csdn.net/m0_57265868/article/details/140286118