JonesDean 发表于 2023-3-15 18:44

校园网交流

## 1. 介绍

- 今天看到一个有关校园网安全的[帖子](https://www.52pojie.cn/thread-1758599-1-1.html) ,后察觉和我们学校的一样,过多分析的也不赘述了,参考[原帖子](https://www.52pojie.cn/thread-1758599-1-1.html)。

- 原帖子的思路是使用弱口令爆破密码,这边的思路利用arp攻击获取网络的通信,再将密文解密即可



## 2. 数据解密

使用C语言算法实现一个简单的RC4加解密

```c
#include "RC4.h"
#include <malloc.h>

static char IS_INIT = 0;
static unsigned char
      *temp = NULL,
      *output = NULL,
      *key = NULL,
      *sbox = NULL;

void initializationRC4(int srcSize, int pwdSize)
{
      if (srcSize == 0 || pwdSize == 0)
                return;

      temp = (char *)malloc(128 * sizeof(char));
      key = (char *)malloc(256 * sizeof(char));
      sbox = (char *)malloc(256 * sizeof(char));
      output = (char *)malloc(srcSize * sizeof(char));
      IS_INIT = 1;
}

void freeRC4Source()
{
      if (IS_INIT == 0)
                return;

      free(key);key = NULL;
      free(sbox);sbox = NULL;
      free(temp);temp = NULL;
      free(output);output = NULL;

      IS_INIT = 0;
}

char *getOutputStreamPointer()
{
      return output;
}

char *RC4_Encrypt(char *src, short srcSize, char *passwd, short pwdSize)
{
      if (IS_INIT == 0)
                initializationRC4(srcSize, pwdSize);

      // generate key box
      for (int i = 0; i < 256; i++)
      {
                key = (int)passwd;
                sbox = i;
      }

      int j = 0;
      for (int i = 0; i < 256; i++)
      {
                j = (j + sbox + key) % 256;
                _itoa(sbox, temp, 10);
                sbox = sbox;
                sbox = atoi(temp);
      }

      int a = 0, b = 0, c = 0;
      for (int i = 0; i < srcSize; i++)
      {
                a = (a + 1) % 256;
                b = (b + sbox) % 256;
                _itoa(sbox, temp, 10);
                sbox = sbox;
                sbox = atoi(temp);
                c = (sbox + sbox) % 256;
                output = src ^ sbox;
      }

      return output;
}
```



## 3. 工具编译


### rc4launch

#### 用法

```shell
./rc4launch -[参数] src pwd
```

参数为 *十六进制(**x**)* 和 *字符串(**s**)*



**e.g.**

```shell
./rc4launch -sx hello rc4
# 输入值为字符串,输出为16进制

./rc4launch -ss hello rc4
# 输入值为字符串,输出为字符串

#...
```

pwd即是密码但被加密了,auth_tag是请求的时间戳也即是密钥




## 4. 项目代码

(https://github.com/Jones-Ding/RC4-By-C)

[程序启动器](https://github.com/Jones-Ding/rc4launch)

Hmily 发表于 2023-3-29 18:15

@JonesDean 图片贴的有问题,我给你修改了,正确方法可以看下帮助:https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=36

Xieweiping 发表于 2023-3-16 10:32

我这边的 不行啊 楼主

abx106 发表于 2023-3-16 10:37

感谢分享,虽然我用不到{:1_935:}

w11268 发表于 2023-3-16 11:05

这个东西 能实现什么效果?

春江花月夜DZL 发表于 2023-3-16 11:27

哈哈,我们校园网必须强口令,数字字母符号全都要有

sumshine 发表于 2023-3-16 11:58

过来学习学习:lol

URL11 发表于 2023-3-16 12:00

感谢分享,虽然实际使用不上

ling236 发表于 2023-3-16 12:59

hhhh为了一个不到0.3mb的校园网,好累啊

joyboy1987 发表于 2023-3-16 13:27

过来看看,学习了

xi12345621 发表于 2023-3-16 13:55

我这是校园套餐本身就是宽带账号,用不上,不过也长见识了
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 校园网交流