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