一次找POST数据经过JS加密的过程
出处:http://www.aau.cn/thread-2419-1-1.html //提供了于个新的思路,很有价值的贴子!!
今天晚上天气清凉,万里航空,到处都是星星。。。。。。之后就请教游戏找个 POST 的 数据,是加密的,进入正题!
网站地址:(非广告,让大家自己尝试记忆才深刻)
(抓包工具 HttpWatch)
打开抓包监视,随便填写 用户名和密码,点提交,如下图:
POST抓到的流的数据为
formhash=1187cd59&referer=index.php&loginfield=username&username=aaabbbccc&password=395e4981d467d1bd120dfb708ed4e3869c34bc04&cookietime=2592000&loginmode=&loginsubmit=%E6%8F%90%E4%BA%A4
很明显的红色字 password= 395e4981d467d1bd120dfb708ed4e3869c34bc04 是经过加密饿
好,之后我们开始找吧!!!!!
右键点击查看源代码,查找 会员登陆 (这里为了大家能找到就直接这样找吧) 如下图:
我们看到
onsubmit="return chkloginsubmit(this)
所以呢?
JS和快手的代码很接近,很明显 chkloginsubmit 这个就是个函数,好了,那么我们就来找临时文件的JS了!!
(这里我自己的笨方法,就是首先清空,所有的缓存,cookie,之后在登陆页面一刷新,啥东西都看到了)
之后我把所有的JS都复制出来放到一个文件夹里一个个打开,搜索 这个 chkloginsubmit 函数
经过几次查找后在 common[1].js 这个JS文件里找到了,我哈啊哈!!!如下图
theform.password.value=hex_sha1(theform.password.value);
hex_sha1 ,不说了,继续找这个函数;;;在 md5.js 这里把里面全部要用到的函数都在这个里了!
我就不发图了,好了。既然全部在 md5.js 里面就好办了
那我们直接加载 md5.js 调用 hex_sha1 函数就行了!
快手调用 JS 非常简单:
import web.script
var vm = web.script( )
var javascript = $"C:\Documents and Settings\Administrator\桌面\JS\md5.js"; //这个填写自己 md5.js 路径
vm.AddCode(javascript); //加载脚本
io.open() //打开控制台
pass = vm.Run("hex_sha1","aaabbbccc"); //运行函数
io.print(pass)
execute("pause") //按任意键继续
io.close()
快手自带范例:如下图
其实这个跟我们快手里的 string.sha1 加密是一样,可以直接调用库来加密了
import string.sha1 //导入库里的 sha1 加密
io.open()
io.print(string.sha1("aaabbbccc"))
对于这种加密方式,调用库更简单!