EMV PBOC 解析(二) 卡片資料讀取

2021-07-30 07:48:30 字數 3068 閱讀 2385

好了廢話不多說,下面貼指令:

(1)卡片接收乙個來自終端的選擇(select)命令,請求選擇 pse(檔名「1pay.sys.ddf01」);

選擇支付系統 pse-1pay.sys.ddf01,在這裡是規範規定的pse的檔名為「1pay.sys.ddf01」

->00a404000e315041592e5359532e4444463031

結果->

6f 26

84   (df名稱)                        0e                       315041592e5359532e4444463031

a5   (fci資料專用模板)    14(長度)

88   (目錄基本檔案的sfi)  01(長度) 01

5f2d (語言選擇)           02         7a68

9f11 (發卡行**表索引)   01         01

bf0c (發卡行自定義資料fci)05         9f4d020b0a

9000 (sw1 sw2)

(2) getdata 獲取資料

指令->00b2010c

結果->

70   28

61   26

4f   08     a000000333010101(aid) 

50   0a     50424f43204445424954

9f12 0a    50424f43204445424954

87   01     01

(3)根據aid=a000000333010101選擇檔案 獲取adf  fci

指令->00a4040008a000000333010101 //根據aid=a000000333(rid) 010101(認證中心公鑰索引pki)

結果->

6f   45

84   08 a000000333010101

a5   39

50   0a 50424f43204445424954(應用標籤)

87   01  01

9f38  099f7a01 9f0206 5f2a02//處理選項資料物件列表(pdol)

*在應用初始化步驟,卡片在處理 gpo 命令時需要由終端提供的資料元的標識和、長度列表

5f2d  02  7a68

9f11  01  01

9f12 0a 50424f43204445424954(應用優先名稱)

bf0c 05 9f4d020b0a

(4)這裡便可以讀取電子現金餘額等資訊

例如:指令->80ca9f79     /9f79:電子現金餘額

結果 ->

9f79 06 000000000000 9000  //餘額:00.00元

|       9f6d:電子現金重置閾                       |

|       9f77:電子現金餘額上線                    |

|       9f78:電子現金單筆交易限額              |

|       9f5d:離線可用餘額                         |

|       9f6b:讀取卡片 cvm 限額                 |

(5)下面就是比較關鍵的一步gpo的操作

首先需要用到步驟(3)可以獲取到處理選項資料物件列表(pdol)

pdol:

9f7a01 (電子現金終端指示器): 01

9f0206 (授權金額):000000000000

5f2a02 (交易貨幣**):0156

指令->80a800000b8309010000000000000156

結果->

80 16 7c00 (應用互動特徵aip)

08010200  (afl應用檔案定位器)

10040601  (afl應用檔案定位器)

18010200  (afl應用檔案定位器)

20010100  (afl應用檔案定位器)

28010100  (afl應用檔案定位器)

7c00(應用互動特徵aip)  => 7c[0(bit8) 1(bit7) 1(bit6) 1(bit5) 1(bit4) 1(bit3) 0(bit2) 0(bit1)]00

bit8=0  規範說1=rfu

bit7=1 支援sda 

bit6=1 支援dda 

bit5=1 支援持卡人認證

bit4=1 執行終端風險管理 

bit3=1 支援發卡行認證 

bit2=0 0=rfu 

bit1=0 不支援cda 

第2位元組 rfu=0

(6)下面是根據afl讀取檔案,首先來解析下afl

以第乙個afl為例: 08(sfi)01(第乙個要讀出的記錄號) 02(最後乙個要讀出的記錄號)00(存放用於離線資料認證的資料的連續記錄個數)

下面解析 sfi: 08

1. 16進製制轉為2進製的資料 -> 0000 1000

2. 加 0000 0100 ->0000 1100

3. 轉為16進製制 -> 0c

根據afl讀取檔案:

指令 ->00b2010c

結果 ->

70 2b

57(二磁軌等價資料)    12

62***********414(卡號,這裡涉及到隱私就不貼出來了) d2411(有效日期 年/月 24/11) 22000000200000 f(補足)

9f1f(磁軌一自定義資料) 14 3*3*3*3*3*30303030303*3*3*303032303*3*3* (一般存放的是身份證資訊,但是有的銀行是不存放的)

指令->00b2020c00

結果->

70(模板)  09 5f20(持卡人姓名) 02 2020(有的銀行是存放的是姓名的拼音的acii碼,但是pboc3.0建議不要存放私人資訊) 9f62(證件型別) 01 00(身份證)

其它的afl就不一一贅述了,有理解不正確的地方還請指正。

EMV PBOC 解析(二) 卡片資料讀取

好了廢話不多說,下面貼指令 1 卡片接收乙個來自終端的選擇 select 命令,請求選擇 pse 檔名 1pay.sys.ddf01 選擇支付系統 pse 1pay.sys.ddf01,在這裡是規範規定的pse的檔名為 1pay.sys.ddf01 00a404000e315041592e53595...

讀txt解析成不同資料型別 IIS解析漏洞復現

該解析漏洞形成原因是以 asp命名的資料夾裡面的檔案都會被當作asp檔案解析!然後我們建立乙個test.txt的文件裡面寫入hello world,然後修改字尾名將test.txt改為test.jpg 然後我們直接將該檔案放入我們的 目錄裡面去 這個時候我沒有放到hello.asp的資料夾裡面,那我...

自學Python資料處理 二 資料解析

資料採用的是 豆瓣讀書top250 的第一頁的資料 codeing utf 8 time 2021 1 2413 52 file booklist.py software pycharm import requests from bs4 import beautifulsoup url 請求資料 h...