<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    實戰|一次SQL注入到代碼審計之路

    VSole2022-12-05 10:12:31

    一、找網站SQL注入點

    在測試時后發現有一個信息查詢框,就是下面這個圖片顯示的。一般信息查詢框會和數據庫存在交互。

    我輸入數字1,會正常提示木查詢到相關信息。

    那我們使用1’測試一下,發現不彈未查詢到相關信息的提示框,也沒有任何數據輸出,大致判斷這個點存在sql注入,并且不對輸出報錯信息。

    大概猜測出SQL語句為 :

    select * from A where id ='$_POST['id']';
    

    沒有對用戶輸入的數據做任何過濾。

    構造一個閉合語句再次確認一些是否確認存在sql注入。

    payload:1’ #
    

    通過上面簡單測試,已經確定了,肯定存在sql注入。

    二、sqlmap跑一下

    將數據包保存到一個文件,直接用sqlmap跑。非常震驚,居然有51個庫。

    經過查詢,查到后臺的賬號密碼,那我就開始找后臺的艱辛路程了。

    三、找后臺

    沒有找到后臺,但是發現robots文件。

    從robots上看到是PHPCMS系統

    使用PHPCMS系統通用后臺地址admin.php,m=admin&c=index&a=login,都不行,測了好就發admin模型下的index控制器是存在,當我們訪問的時候就會自動跳到首頁,這也該是開發者后來做了修改,專門做防黑的。

    四、找通用漏洞

    這個步驟就不多說了,我測了已暴光的漏洞,都是不行,說明開發者還是有安全意識的,把漏洞都給修復了。

    五、返回sqlmap

    還有一種思路就是使用sqlmap —os-shell直接獲取shell,但是這個基本上不行的,因為網站的文件基本上都是755權限,沒有寫的權限就會失敗。那我還是抱著一絲絲希望去測試了。

    使用sqlmap —os-shell需要知道網站的絕對路徑,網站絕對路徑可以通過中間件配置文件查看。

    首先需要知道網站用了什么中間件,我沒有用nmap跑,只用404看到是nginx ,nginx的配置文件 /usr/local/nginx/conf/ngixn.conf

    用sqlmap —file-read 去讀nginx配置文件。通過配置文件只看到一條默認的配置信息。

    需要注意的是如果在nginx.conf文件沒有看到有價值的信息,有一種可能是存在,/usr/local/nginx/conf/vhost/網站域名.conf 這個位置,果不其然就是它。

    找到了真實的路徑,就可以使用 sqlmap —os-shell了,但是正式我當時預料的沒有寫入權限導致拿shell失敗。

    六、使用sqlmap讀取網站源碼

    通過上面的思路我們已經知道網站的真實路徑,知道了是PHPCMS系統,那我們可以讀取網站的文件了。

    1、讀取路由文件 caches\configs\route.php 查看路由文件沒有問題。

    2、查看系統文件 caches\configs\system.php (這個文件能看是否開啟了域名訪問后臺)

    3、在上面我們說到admin模型下index控制器是能訪問,知識在訪問的時候會跳轉到主頁,那我們下載index控制器文件看下。

    phpcms\modules\admin\index.php ,查看index控制器下的login方法是沒有做任何修改的。

    七、側面滲透測試

    上面說了一共有51個網站,我隨機看了幾個,數據庫的結構是一樣的,說明是同一個建站系統。

    那我們用nmap掃一下服務發現有8080服務,這個網站8080端口的網站時dedecms系統搭建的,我正好有后臺密碼,這樣能通過dedecms上傳文件。

    八、代碼審計

    通過上面們大概判斷是admin模塊index控制器有問題。

    查看admin模塊多了一個MY_index.php控制器,

    查看MY_index.php 發現里面有一個構造函數,這個函數大概意思就是會打開這個方法會判斷你的right_enter的session值是否為空,若果為空,那么就回到首頁,這這是我們剛開始一直打不開后臺的原因。

    經過看phpcms開發手冊(我對這看系統二次開發不太熟悉,我只知道是一個MVC結構的php程序),如果需要對控制器進行二次開發需要在同級目錄創建一個MY_*.php文件,大概意思就是創建這個文件后程序在運行index模塊時會運行MY_index.php里面的代碼。

    到這了明白了,因為沒有$_SESSION[‘right_enter’]值,所以導致登陸不了,所以打開后臺首先需要給$_SESSION[‘right_enter’]賦值。經過不懈努力找到了一個正確文件。

    這個文件大概意思就是當我運行改文件時會將$_SESSION[‘right_enter’]=1,然后跳轉到登陸界面。

    sql注入sqlmap post注入
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    滲透測試Tips
    2022-04-13 06:38:50
    知己知彼,百戰不殆1、如果提示缺少參數,如{msg:params error},可嘗使用字典模糊測試構造參數,進一步攻擊。
    發現漏洞七月正值暑假,閑暇時光在百度上inurl一番,找到了一個古老的企業OA系統IP站點,沒有域名,掃過一眼,.NET流行時代的普遍漏洞浮現在腦海里——SQL注入在用戶名里輸入admin’,不負期望地報了錯很明顯,前后端都沒有對用戶的輸入進行過濾,直接將’帶入了SQL語句進行。初步判斷,此OA系統存在SQL注入漏洞。漏洞驗證打開BurpSuite,設置好瀏覽器代理,抓下HTTP請求,一氣呵成。
    一些重要的SQLMap命令
    2023-05-04 08:55:08
    從掃描SQL注入漏洞到獲取數據庫名字、表和列,以及獲得系統訪問權限,其可被用于多種目的。我們必須給SQLMap提供有效的cookie才能對登錄頁面的POST請求進行掃描。不過別總是保持一個較高的值,因為可能會影響結果的準確性。默認情況下值為1,最高可以設置為3。值為3時,就是最大值,包含了一些嚴重的SQL查詢。級別指定要執行的檢查或payload的數量。
    本靶機難度為高難度,涉及到了緩沖區溢出的源碼審計 ,逆向分析,動態調試等漏洞技能點,攻擊方法有2種:??SQL 注入得到的密碼可以保留。
    前段時間參加攻防演練的時候,發現目標系統有很多都使用了用友的產品,故整理一篇關于用友漏洞的文章。
    主要是可以拿著這些信息通過goole,或github搜索一些其他的敏感信息,擴大搜索面。效果就不多說了,在github泄漏一些賬號或源碼的事件簡直不要太多。)如果得到的ip結果不同,即可判斷使用了CDN。nmap掃描服務器進行搜集,我認為也是至關重要的一點,不能遺漏。里面的security項rename-command CONFIG ""又問:如果內容禁止使用ip如何探測內網端口1、使用dns解析2、127。
    burp0_data = {"name": username, "pw": password, "repw": password, "email": email, "submit": ''}
    sql注入學習筆記
    2022-07-27 16:52:58
    sql注入學習筆記
    Web日志安全分析淺談
    2022-01-12 06:36:15
    attack=test';select//1//from/**/1,此時請求狀態碼為200,但是此注入攻擊并沒有得到執行,實際情況中,還會有更多情況導致產生此類的噪聲數據。拋開這類情況不談,我們來說說在一般應急響應場景中我們分析日志的常規辦法。假設我們面對的是一個相對初級的黑客,一般我們直接到服務器檢查是否存有明顯的webshell即可。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类