网络-javascript身份验证,混淆和本机代码。 使用r0ot-mi Web解决问题-客户端。 第一部分

图片

本文包含的工作解决方案涵盖了javascript身份验证,混淆javascript和javascript本机代码。

组织信息
特别是对于那些想要学习新知识并在信息和计算机安全性的任何领域中发展的人们,我将撰写和讨论以下类别:

  • PWN;
  • 密码学(加密);
  • 网络技术(网络);
  • 反向(反向工程);
  • 隐写术(Stegano);
  • 搜索和利用Web漏洞。

除此之外,我将分享我在计算机取证,恶意软件和固件分析,对无线网络和局域网的攻击,进行笔测试和编写漏洞利用程序方面的经验。

为了使您可以查找有关新文章,软件和其他信息的信息,我在Telegram中创建了一个频道,并创建了一个小组来讨论 ICD领域中的所有问题 。 另外,我会亲自考虑您的个人要求,问题,建议和建议, 并会回答所有人

提供所有信息仅出于教育目的。 对于由于使用本文档而获得的知识和方法对某人造成的任何损害,本文档的作者不承担任何责任。

禁用HTML的元素


图片

在页面上,我们看到一个锁定的表单。

图片

我们需要解锁并使用它。 为此,请打开开发人员面板(在我的情况下为Firefox浏览器)。

图片

我们观察到其中存在禁用参数的两个表单元素。 您只需要删除它。

图片

现在,我们以表格形式发送一些文本并获得一个标志。

图片

Javascript验证


图片

我们转到页面,观察您需要输入登录名和密码的表格。

图片

当您尝试发送任何线路时,警报都会显示有关错误数据的消息。

图片

让我们打开源代码。 当您单击登录按钮时,js调用Login()函数。

图片

让我们转到开发人员面板的“调试器”选项卡。 在Source的左窗口中,选择我们的站点,然后查看login.js文件中的源代码。 有登录详细信息。

图片

我们继续下一个任务。

图片

我们打开页面,熟悉的密码输入窗口会打招呼。

图片

打开源代码,输入密码。

图片

来吧

图片

与之前的任务类似,打开开发人员面板的“调试器”选项卡。 从列表中提取一个字符串,一个冒号分为多个部分。 第一部分是登录名,第二部分是密码。

图片

Javascript混淆


图片

打开源代码,我们在其中找到pass变量。

图片

我们的密码是URL编码的。 让我们转到开发人员面板的“控制台”选项卡。 使用js的decodeURI()函数进行解码。

图片

继续...

图片

再次,查看源。 提到了可变通过。

图片

转到控制台并显示pass变量。

图片

看起来像js代码。 要执行它,请将pass作为参数传递给eval()函数。

图片

一次又一次地编码eval()。

图片

Javascript本机代码


图片

我们打开页面。 再次在密码输入窗口打招呼。

图片

打开文件,然后查看本机代码javascript。

图片

js中有两种通用方法:toString()和toSource(),适用于对象。 在代码的最后,我们观察到“()”,也就是说,它前面有一个函数。 在控制台中,删除“()”并附加“ .toSource()”。

图片

我们获得了密码验证功能,可以在其中看到密码本身。

图片

打开源代码,获取js。

图片

通过变量pass的类型将字符串传递给函数-字符代码用逗号分隔。 最后,将调用带有某些字符串的函数。 让我们解码字符串并将数字转换为字符。

图片

我们得到密码。

越来越复杂...您可以加入Telegram 。 在这里,您可以提出自己的主题,并为以下文章的主题选择投票。

Source: https://habr.com/ru/post/zh-CN471662/


All Articles