专栏首页python3python http post 登

python http post 登

网站调戏 

http://uugoc.com/login

账号  739639550     

密码  123456         开始调戏 

谷歌浏览器  F12 j进入调戏模式

输入账号密码    点击登录 

 多出一个  叫做

http://uugoc.com/tools/ssc_ajax.ashx?A=Login&S=uugc&U=739639550

看里面的  Form Data

username   739639550 账号没问题  哎     密码怎么变了 

ec6d0fc6a7d3e6ee6f5ce25adad36f2c  ε=(´ο`*)))唉 莫非这就是传说的 md5     兴致冲冲的  进行了一个  123456 的md5运算

123456 =e10adc3949ba59abbe56e057f20f883e

现实告诉我太年轻- -  简直进入死局  不晓得如何加密如何撬开人家的门牙???  经过几轮大神的咨询 发现   谷歌是支持调试模式的

进入源码模式 

通过之前的分析 搜索 ssc_ajax.ashx       结果漂亮 不亏是我挑选的弱鸡 网站  一条 - - 点进去分析

点击之后 上面的代码乱的 跟鬼一样    点击  {} 能看到他的美 - -   

点击边上变色 进入断点模式   

点击登录 发现 断点  的确 是在这里 

而且密码已经加密完成

往上看  找找在哪开始没有加密

找到开始的位置进行 断点

并没有进行加密 说明 整个加密的方式 就在这个 函数里面

 var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}           , a = (new Date).getTime()           , s = "Register" !== t.Action && state.UserName || t.UserName;         if (void 0 !== e.wait)             var c = layer.msgWait(e.wait);         if (t = o(t),         t[1] && console.log(t[1]),         t = t[0],         t.Password || t.SafePassword) {             var u = t.Password && "Password" || t.SafePassword && "SafePassword"               , d = n("IVK");             if (!d)                 return (c || "0" == c) && layer.close(c),                 RootApp.getServerTime(),                 {                     then: function(t) {                         t({                             Code: -1,                             StrCode: "请重试"                         })                     }                 };             var h = ["SetPassForget", "VerifySafePwdForget"];             s = h.indexOf(t.Action) > -1 && sessionStorage.getItem("UserName") || s;             var v = (s + "").toLocaleLowerCase();             if (t[u] = G(["SetPwd", "SetSafePass", "Register", "SetPassForget"].indexOf(t.Action) === -1 ? G(v + G(t[u])) + d : v + G(t[u])),             t.Type = "Hash",             32 !== t[u].length)                 return (c || "0" == c) && layer.close(c),                 {                     then: function(t) {                         t({                             Code: -1,                             StrCode: "请重试"                         })                     }                 }         }         var p = l(t.Action);         if (p)             return {                 then: function(t) {                     t({                         Code: -1,                         StrCode: "操作失败"                     }),                     layer.close(c)                 }             };         t.SourceName = "PC";         var _ = _ajaxDatajoint(t);         if ("GetInitData" !== t.Action) {             for (var y = 0; y < j.length; y++) {                 if (j[y][0] + 300 < a) {                     j.length = y;                     break                 }                 if (j[y][1] === _)                     return (c || "0" == c) && layer.close(c),                     {                         then: function() {                             console.log("重复发送")                         }                     }             }             j.unshift([a, _])         }         return new m.default(function(n, l) {             var u = state.turning && setTimeout(function() {                 var e = "网络请求超时,请重试";                 i({                     msg: e                 }),                 _catch({                     msg: "timeout",                     A: t.Action,                     U: s                 }),                 l()             }, 1e4)

抠出 当前函数代码 进行分析t

通过分析发现 

 账号进行了一个 大写转换小写的动作     保存v

然后分析代码真正的 进行计算  

 if (t[u] = G(["SetPwd", "SetSafePass", "Register", "SetPassForget"].indexOf(t.Action) === -1 ? G(v + G(t[u])) + d : v + G(t[u])),             t.Type = "Hash",             32 !== t[u].length)

t[u]  是Password   进行密码的赋值   如果长度不等于 32  返回错误

G()就是md5的计算   

v 账号

第一次md5 

第二次md5   很明显是    账号加   123456md5在做一次  md5

v + G(t[u]))   账号 +md5(password)      739639550 +md5函数(123456)         

然后在进行 md5

+

上次的md5 +77921299(这是 d的一个值 加盐)

运算结束 太挑出来

那么套路是    账号大写转 小写    进入 md5(  md5( 账号+md5密码))+盐)  然后模拟测试 一下 上代码      

python3 的代码    

ok 密码的加密方式搞出来了      但是 这个盐是 动态的    那么分析方式是一样的  做一个    盐的动态生成  即可完成 自动化加密密码的方式      下次更新 盐的动态加密    未待续。。。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 3)js的基础语法使用以及css定位

    var north = ['北京','山东','天津']; var south = ['东莞','深圳','上海']; var newCity = north....

    py3study
  • 学习笔记-小甲鱼Python3学习第十九

    局部变量(Local Variable):在整个py文件中声明,全局范围内都可以调用

    py3study
  • 条件结构if

    高能:语句结构都是由关键字开头,用冒号结束!    一:语句结构 if condition_1:     statement_block_1 elif...

    py3study
  • 李江力演讲PPT:2018中国工业互联网安全态势报告

    2月22日上午,在2019工业互联网峰会“工业互联网安全体系建设”分论坛上,工业互联网产业联盟(简称“联盟/AII”)安全组副主席、北京六方云科技有限公司总裁李...

    安智客
  • .Net Core微服务入门全纪录(三)——Consul-服务注册与发现(下)

    上一篇【.Net Core微服务入门全纪录(二)——Consul-服务注册与发现(上)】已经成功将我们的服务注册到Consul中,接下来就该客户端通过Consu...

    xhznl
  • js倒计时,秒倒计时,天倒计时

    距某某开幕式还有 [<script language="JavaScript" type="text/javascript">djs()</script>] 天...

    用户3055976
  • 文史上最骚的编程语言来了!大四学生发明言文编程语言!秀的我头皮发麻

    到底是什么神仙项目,竟然获得如此高的评价?原来,这是一位卡内基梅隆大学(CMU)的大四学生开发的基于文言文的编程语言。

    Guide哥
  • 文言文也能编程?此诚年度最骚语言也

    近日,GitHub 上一个叫做文言文(wenyan)的编程语言项目火了,该项目迅速引发了猿们的关注热议,其 Star数一路涨到过万,热度还在持续上涨。只需要在在...

    养码场
  • 将数据压缩到图片并在前端做解析渲染

    在做前后端数据交互的时候,你一定遇到过这样的问题:数据量大,尤其是在气象行业!在本文,讲解一种将数据压缩到图片并在前端实现数据的解析与展示的功能。

    lzugis
  • “AS3.0高级动画编程”学习:第一章高级碰撞检测

    AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上...

    菩提树下的杨过

扫码关注云+社区

领取腾讯云代金券