1         Prime Factory

 1 # 判断是否为素数
 2 def is_prime(x):
 3     if (x == 2) or (x == 3):
 4         return True
 5     if (x % 6 != 1) and (x % 6 != 5):
 6         return False
 7     for i in range(5,int(x ** 0.5) + 1,6):
 8         if (x % i == 0) or (x % (i + 2) == 0):
 9             return False
10 return True
11 
12 for i in range(1000000,9000000):
13     if is_prime(i):
14         sum = 0
15         for j in str(i):
16             sum += int(j)
17         if is_prime(sum):
18             print i
19             break
20 
21 # 第一个是1000033
22 
23 for k in range(1000034,9000000):
24     if is_prime(k):
25         sum = 0
26         for l in str(k):
27             sum += int(l)
28         if is_prime(sum):
29             print k
30             break
31 
32 # 第二个是1000037

答案:10000331000037

 

2         Training: Encodings I

使用题目提供的工具JPK;

发现无法整分;

将bitsperblock设置为7位;

PS:ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。

 

 

使用Binary to Ascii即可得到答案:easystarter

 

3         Training: Programming 1

访问该网址会获取answer参数的值,在1.337秒内访问目标网址即可;

 1 import requests
 2 
 3 url = "https://www.wechall.net/challenge/training/programming1/index.php?action=request"
 4 
 5 cookies={}
 6 
 7 cookies["WC"] = "14425981-60974-AzieJ9EjhdNN1aCL"
 8 
 9 content = requests.get(url,cookies=cookies).content
10 
11 print content
12 
13 url2 = "https://www.wechall.net/challenge/training/programming1/index.php?answer=" + content
14 
15 content = requests.get(url2,cookies=cookies).content
16 
17 print content

 

4         Training: Regex

提交匹配空字符串的正则表达式,并且只有一个空字符串;

答案:/^$/

答案:/^wechall4?\.(?:jpg|gif|tiff|bmp|png)$/

答案:/^(wechall4?)\.(?:jpg|gif|tiff|bmp|png)$/

 

5         Training: PHP LFI

直接尝试一下file=solution.php先;

后面会加.html,可以使用%00进行截断;

路径不对;

答案:https://www.wechall.net/challenge/training/php/lfi/up/index.php?file=../../solution.php%00