0%

2020-iscc

不做了, 本地打通,远程也打不动,玩球,浪费我时间

name addr: 0x004913a0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

void ask(void)

{
char auStack16 [8];

puts("YaLeYaLeDaZe?(yaleyale/kotowalu)");
read(0,auStack16,0xc);
return;
}
int main(void)

{
puts("What\'s your name?");
read(0,name,100);
ask();
return 0;
}
Read more »

2020网鼎杯-第一场

re

vm

两种解法,angr一把梭, 自己手动逆

解法1(angr)

angr我觉得比较重要的有三个点

  1. 起始找寻位置
  2. 需要到达的路径
  3. 避免走的路径

起始找寻位置,我们可以选main, 也可以选特定验证函数, 但是需要注意的是, 数据的找寻

需要到达的路径为: success, flag这种成功的路径

Read more »

2020网鼎杯-第三场-re

做了第一题就不想做了,后面去做作业去了..只记录了第一题

re1

image-20200517155303124

按空格取到这里地址,为0x4012D8

image-20200517155337320

这里取到地址0x40135A

image-20200517155424169

明显自定义base64

下断点测试结果

image-20200517155453068

测试key为1234567812345678

这里对比字符串

image-20200517155534194

刚好是开头的那一串不知名数据

而im+03FER则是main_code过后的数据,也就是base64加密过后,与开头的字符串比对,所以反向解密即可,拿到What_is_go_a_A_H

Read more »

gobuster

例子

1
gobuster dir -u "http://10.1.1.20/mutillidae/" -w /usr/share/wordlists/dirb/small.txt

本文作者:NoOne
本文地址https://noonegroup.xyz/posts/48e7f5e0/
版权声明:转载请注明出处!

html+css基础

html基础

head头配置

1
2
3
4
5
6
<meta charset="utf-8"/> <!-- 告诉浏览器用utf-8解析-->
<title>常用标签</title> <!--head头的标题-->
<meta name="keywords" content="前端"/> <!--meta可以作为关键字查询-->
<meta name="description" content="网页描述"/> <!--meta可以指定网页描述-->
<meta http-equiv="refresh" content="5;url=http://www.baidu.com" />
<!--重定向请求-->
Read more »

Pikachu靶机练习

csrf

csrf, 跨站请求伪造, 也就是说攻击者盗用你的身份进行操作

有点类似xss, xss通常是打用户的cookie,而csrf可以发送给用户后,改掉用户密码,

还有就是跨站, 总的来说呢,就是假设你邮箱收到了攻击者的链接

1
http://192.168.1.110:8080/vul/csrf/csrfget/csrf_get_edit.php?sex=test&phonenum=test&add=test&email=test&submit=submi
Read more »

Angr学习

听闻Angr好久了,自己愣是没尝试过,这次网鼎杯有道vm虚拟机题目, 本来是手动盘的, 听说angr一把梭,故借此机会学习下angr

angr我觉得比较重要的有三个点

  1. 起始找寻位置
  2. 需要到达的路径
  3. 避免走的路径

网鼎 vm

起始找寻位置,我们可以选main, 也可以选特定验证函数, 但是需要注意的是, 数据的找寻

Read more »

re-rc4及其变种

基本rc4

学习一个算法,最好还是编程下印象深刻些

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// re_rc4.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <Windows.h>

/*
S 状态向量
K 密钥
len 密钥长度
*/
void rc4_init(unsigned char* S, unsigned char* K, unsigned long len)
{
char T[256] = { 0 }; //临时向量T
unsigned char tmp = 0;
for(int i=0; i<256; i++)
{
S[i] = i;
T[i] = K[i%len];
}
int j = 0;
for(int i=0; i<256; i++)
{
j = (j + S[i] + T[i]) % 256;
int middle = S[i];
S[i] = S[j];
S[j] = middle;
}
}

void rc4_crypt(unsigned char* S, unsigned char* Data, unsigned long len)
{
int i = 0, j = 0, t = 0;
unsigned long k = 0;
unsigned char tmp;
for(; k<len; k++)
{
i = (i + 1) % 256;
j = (j + S[i]) % 256;
tmp = S[i];
S[i] = S[j];
S[j] = tmp;
t = (S[i] + S[j]) % 256;
Data[k] ^= S[t];
}
}
int main()
{
unsigned char s[256] = { 0 }, s2[256] = { 0 }; // S-box
char key[256] = { "justfortest" };
char pData[512] = "这是一个用来加密的数据Data";
unsigned long len = strlen(pData);
int i;

printf("pData=%s\n", pData);
printf("key=%s,length=%d\n\n", key, strlen(key));
rc4_init(s, (unsigned char*)key, strlen(key)); // 已经完成了初始化
printf("完成对S[i]的初始化,如下:\n\n");
for (i = 0; i < 256; i++)
{
printf("%02X", s[i]);
if (i && (i + 1) % 16 == 0)putchar('\n');
}
printf("\n\n");
for (i = 0; i < 256; i++) // 用s2[i]暂时保留经过初始化的s[i],很重要的!!!
{
s2[i] = s[i];
}
printf("已经初始化,现在加密:\n\n");
rc4_crypt(s, (unsigned char*)pData, len); // 加密
printf("pData=%s\n\n", pData);
printf("已经加密,现在解密:\n\n");
rc4_crypt(s2, (unsigned char*)pData, len); // 解密
printf("pData=%s\n\n", pData);
getchar();
return 0;
}
Read more »