0%

密码学入门

古典密码

凯撒

替换加密算法,26个字母在表上循环,向前或向后移n个字母。加密后移,解密前移。凯撒

变异凯撒

替换加密算法,循环顺序变为在ascii码表上循环。

阅读全文 »

题目首先给出了源码

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
<?php
function get_the_flag(){
// webadmin will remove your upload file every 20 min!!!!
$userdir = "upload/tmp_".md5($_SERVER['REMOTE_ADDR']);
if(!file_exists($userdir)){
mkdir($userdir);
}
if(!empty($_FILES["file"])){
$tmp_name = $_FILES["file"]["tmp_name"];
$name = $_FILES["file"]["name"];
$extension = substr($name, strrpos($name,".")+1);
if(preg_match("/ph/i",$extension)) die("^_^");
if(mb_strpos(file_get_contents($tmp_name), '<?')!==False) die("^_^");
if(!exif_imagetype($tmp_name)) die("^_^");
$path= $userdir."/".$name;
@move_uploaded_file($tmp_name, $path);
print_r($path);
}
}

$hhh = @$_GET['_'];

if (!$hhh){
highlight_file(__FILE__);
}

if(strlen($hhh)>18){
die('One inch long, one inch strong!');
}

if ( preg_match('/[\x00- 0-9A-Za-z\'"\`~_&.,|=[\x7F]+/i', $hhh) )
die('Try something else!');

$character_type = count_chars($hhh, 3);
if(strlen($character_type)>12) die("Almost there!");

eval($hhh);
?>

阅读全文 »

SSTI

SSTI判断

1
{{7+7}}

输入会回显,判断回显值。

阅读全文 »

六月作业

*RSA File

1
2
3
with open("pub.key","r",encoding="utf-8") as file:
text=file.read()
key=RSA.import_key(text)

在线网站

阅读全文 »

格密码

一直想做一个整理,鸽了两个多月,考完试把之前鸽的补一下

阅读全文 »

第三章

基本类型

char(n)固定长度的字符串。

varchar(n)可变长度的字符串,最大长度n。

int 整数。

smallint 小整数。

numeric(p,d)定点数,p位数字其中d位在小数点右边。

阅读全文 »

首先打开py文件看一眼,输3退出,输2再输b33_1_4m_b3333会让某个自减的东西加一千,输1时会生成一个32位的随机数,并且将输入的随机数与其自己生成的随机数比较,相等则返回flag。

那么题目的思路就很明确了:生成624个随机数并且使用randcrack库计算第625个随机数上传即可。

阅读全文 »