在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  數(shù)據(jù)庫/ 一條SQL注入的SQL語句疑問

一條SQL注入的SQL語句疑問


正常的SQL是:
select * from post where id = '10';

這里是注入的點(diǎn):
10" union select id,username,salt,password,5 from user where id="2

對注入的內(nèi)容進(jìn)行轉(zhuǎn)義后:
select * from post where id = '10\" union select id,username,salt,password,5 from user where id=\"2'

不懂為啥能查詢出數(shù)據(jù)?

clipboard.png

回答
編輯回答
萢萢糖

sql語句的執(zhí)行過程中就出現(xiàn)了隱式轉(zhuǎn)化

2018年5月19日 07:10
編輯回答
陌如玉

你的 id MYSQL設(shè)置是數(shù)字類型,但是你查詢的卻是字符類型。這時(shí)候,MYSQL會(huì)進(jìn)行隱式轉(zhuǎn)化并且不會(huì)使用索引。其中字符轉(zhuǎn)數(shù)字:

  1. 從左開始處理
  2. 字符串是以非數(shù)字開頭,轉(zhuǎn)為數(shù)字0
  3. 字符串是以數(shù)字開頭,就直接截取到非數(shù)字的位置。也就是你的問題中的: 10
2018年6月17日 00:01