那這幾天系統的學一下sql注入吧
那麼什麼是sql注入呢。sql是資料庫的一種,一般的sql查詢語句大概就是select * from * where * ,類似這種語句一般都會在php**中構造好,預留出乙個空,在取得客戶端的使用者輸入的數值,將其填入,這時,如果不進行過濾的防護措施,不法使用者所輸入的惡意**也可能被執行,進而達到控制資料庫的效果,先舉乙個例子吧。
<?php
if($_post[user] && $_post[pass])
if($query[user] != "admin")
}echo
$query[user];
?>
這是cgctf上的一道題,只要以管理員身份登陸,就可以拿到flag。但是我們並不知道管理員賬號admin的密碼,這時我們就可以構造sql注入語句繞過對密碼的判斷。
select user from ctf where (user=』」.us
er."
′)an
d(pw
=′".us
er."
′)an
d(pw
=′".
pass.」』)
這句話便是關鍵了,構造sql語句為」admin』)#」
select
user
from ctf where (user='admin')#') and (pw='
".$pass."
')
從而達到我們的目的。(**效果如上單引號閉合,直接「#」直接注釋掉多餘內容。
大概了解了sql注入的原理了,下面來細數一下sql注入的幾個型別
二進位制SQL注入漏洞分析
摘自 發現 中並無出奇,只是將幾年前的冷飯再炒.因為多年過去了,可能有人疏忽,多試一些總有人中招的.注入方式中數字欄位是最容易進入的.文字也可以,但在querystring中提交文字的情況不如數字多.最常見的就是形如 news.asp?id 3 在asp中,疏忽的寫法為 aspid request ...
二進位制 二進位制起源
現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...
判斷二進位製半整數(二進位制)
10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...