有人可以解釋一下這個 sql 注入查詢是如何工作的嗎"Arizona'; TRUNCATE TABLE states ; SELECT * FROM states WHERE name = '"
2 回答

繁華開滿天機
TA貢獻1816條經(jīng)驗 獲得超4個贊
它不會刪除數(shù)據(jù)庫,但會清空表states
。在您的代碼中,如果您采用未經(jīng)過濾的輸入并將其附加到您的查詢中,那么此輸入會將您的 SQL 語句變成一個批處理。亞利桑那';
之后將結(jié)束第一個聲明。接下來,執(zhí)行語句TRUNCATE TABLE states;
,清除states
. 最后,最后一條語句是這樣執(zhí)行的SELECT * FROM states WHERE name = ''
。您的代碼提供最終的'
,因此 SQL 批處理不會失敗。
添加回答
舉報
0/150
提交
取消