從SQL注入到代碼審計竟然能夠這麼簡單?

零基礎黑客教程,黑客圈新聞,安全面試經驗php

盡在 # 暗網黑客 #nginx


*本文中涉及到的相關漏洞已報送廠商並獲得修復,本文僅限技術研究與討論web

嚴禁用於非法用途,不然產生的一切後果自行承擔面試

本文中出現的全部敏感信息已作打碼處理sql



文末有sqlmap相關實戰視頻操做領取
shell



數據庫

找網站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系統,那咱們能夠讀取網站的文件了

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


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


三、在上面咱們說到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,而後跳轉到登錄界面



"sqlmap上sql注入的簡介和sqlmap簡介"

「sqlmap下使用工具找管理員密碼」

「sqlmap getshell之大馬小馬一句話」

「sqlmap getshell實戰」

......

上述等視頻教程!可打包帶回家!

可領取視頻教程!邊看邊學!掌握思路~

掃描下方二維碼!直接免費領取!(錄播)

掃碼領取



往期內容回顧


【乾貨】黑客攻防!老司機教你如何提高權限

教你一招!半吊子黑客怎麼入侵網絡攝像頭

爆破多個用戶名總不成功?看來之後不能說用戶名不存在




掃碼當即免費領取

黑客教程視頻  靶場工具 講師課件 

一線安全工程師天天在線直播授課













本文分享自微信公衆號 - 暗網黑客(HackRead)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索