POST注入--搜索框


 

  POST注入的分類有很多:

     搜索框

     登錄框

     認證框

     還有XXXX,總之什么情況就是什么注入

  言而總之,都他么一樣,不就是POST傳數據的時候動點手腳么?

  

  寫了個簡單的搜索框注入的網頁:

    代碼折疊了,大家展開看

  

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>搜索型注入</title>
 5     <meta charset="utf-8">
 6 </head>
 7 <body>
 8     <h1>學無止境--POST注入</h1>
 9     <form action="" method="POST">
10         搜索內容:<input type="text" name="content">
11         <input type="hidden" name="hid" value="1">
12         <input type="submit" name="">
13 
14     </form>
15     <?php
16         if(isset($_POST['hid'])){
17             $content = !empty($_POST['content'])?$_POST['content']:"";
18             if($content == ""){
19                 exit("請輸入要搜索的內容");
20             }
21             $link = mysql_connect("127.0.0.1","root","root");
22             mysql_query("set names utf8");
23             mysql_select_db("sqli");
24             $sql = "select * from search where content = '$content'";
25             /*
26                 創建數據表
27                 create table search(
28                     id int primary key auto_increment,
29                     content varchar(30)
30                 )charset utf8;
31                 插入測試數據
32                 insert into search values(NULL,'Hello'),(NULL,'World');
33             */
34             $result = mysql_query($sql);
35             while($row = mysql_fetch_array($result)){
36                 echo "ID:".$row['id'];
37                 echo "內容:".$row['content'];
38                 echo "<hr />";
39             }
40             echo "執行的SQL語句:$sql";
41         }
42     ?>
43 </body>
44 </html>
學無止境

 

 

  我數據庫一共有兩條數據,分別是Hello和World,來搜索一下看看

  

  分析一下執行的SQL語句,我們通過數據庫查詢條件為content字段內容等於Hello的數據,但這個SQL語句並不安全

 

  我們把搜索內容換一下:Hello' and 1=1 #

  

  可以看到結果也是正常的.也就是說我們成功的把語句代入到數據庫了.

  接下來也就和普通注入沒什么區別了...

  

  OK,簡單的解釋一下SQL語句.我們搜索的內容是Hello' and 1=1 #,代入到數據庫的語句是:select * from search where content = 'Hello' and 1=1 #'

  在Hello后面的那個單引號閉合了前面的單引號,讓Hello成為了一個單獨的字符串,隨即就是我們的注入語句,最后是一個#,注釋了后面的單引號,數據庫在執行語句的時候其實執行的是:select * from search where content = 'Hello' and 1=1,這個語句相信大家就很熟悉了.

  大家有喜歡的可以加個好友一起研究學習.

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM