CTFHUB 《請求方式》 http請求,curl命令總結

打開網頁:
在這里插入圖片描述
思路一:
根據題目,應該是向網頁發送get方式請求,但并沒有具體規定要發送什么,嘗試get發送參數后,都沒有返回網頁,emmm’…好像不是我想的那種套路

思路二:
網上找到思路有,可以用cmd自帶的命令curl查看http的返回信息

curl -v -X CTFHUB http://challenge-eec5d373af7d2203.sandbox.ctfhub.com:10080/index.php

在這里插入圖片描述
相當于返回服務器返回的所有信息,包括html源碼,其中包括了flag

curl -v(獲取整個通信過程)
curl -X url(使用特定方法請求網頁文本)
因為HTTP Method 是可以自定義的,并且區分大小寫,直接用 CTFHUB 方法請求 index.php 即可拿到 flag。)

curl使用方法:http://www.ruanyifeng.com/blog/2019/09/curl-reference.html

curl使用方法:

-A

-A參數指定客戶端的用戶代理標頭,即User-Agent。curl 的默認用戶代理字符串是curl/[version]。

$ curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com

上面命令將User-Agent改成 Chrome 瀏覽器。

$ curl -A '' https://google.com

上面命令會移除User-Agent標頭。

也可以通過-H參數直接指定標頭,更改User-Agent。

$ curl -H 'User-Agent: php/1.0' https://google.com

-b

-b參數用來向服務器發送 Cookie。

$ curl -b 'foo=bar' https://google.com

上面命令會生成一個標頭Cookie: foo=bar,向服務器發送一個名為foo、值為bar的 Cookie。

$ curl -b 'foo1=bar;foo2=bar2' https://google.com

上面命令發送兩個 Cookie。

$ curl -b cookies.txt https://www.google.com

上面命令讀取本地文件cookies.txt,里面是服務器設置的 Cookie(參見-c參數),將其發送到服務器。
-c

-c參數將服務器設置的 Cookie 寫入一個文件。

$ curl -c cookies.txt https://www.google.com

上面命令將服務器的 HTTP 回應所設置 Cookie 寫入文本文件cookies.txt。
-d

-d參數用于發送 POST 請求的數據體。

$ curl -d'login=emma&password=123'-X POST https://google.com/login
# 或者
$ curl -d 'login=emma' -d 'password=123' -X POST  https://google.com/login

使用-d參數以后,HTTP 請求會自動加上標頭Content-Type : application/x-www-form-urlencoded。并且會自動將請求轉為 POST 方法,因此可以省略-X POST。

-d參數可以讀取本地文本文件的數據,向服務器發送。

$ curl -d '@data.txt' https://google.com/login

上面命令讀取data.txt文件的內容,作為數據體向服務器發送。
–data-urlencode

–data-urlencode參數等同于-d,發送 POST 請求的數據體,區別在于會自動將發送的數據進行 URL 編碼。

$ curl --data-urlencode 'comment=hello world' https://google.com/login

上面代碼中,發送的數據hello world之間有一個空格,需要進行 URL 編碼。
-e

-e參數用來設置 HTTP 的標頭Referer,表示請求的來源。

curl -e 'https://google.com?q=example' https://www.example.com

上面命令將Referer標頭設為https://google.com?q=example。

-H參數可以通過直接添加標頭Referer,達到同樣效果。

curl -H 'Referer: https://google.com?q=example' https://www.example.com

-F

-F參數用來向服務器上傳二進制文件。

$ curl -F 'file=@photo.png' https://google.com/profile

上面命令會給 HTTP 請求加上標頭Content-Type: multipart/form-data,然后將文件photo.png作為file字段上傳。

-F參數可以指定 MIME 類型。

$ curl -F 'file=@photo.png;type=image/png' https://google.com/profile

上面命令指定 MIME 類型為image/png,否則 curl 會把 MIME 類型設為application/octet-stream。

-F參數也可以指定文件名。

$ curl -F 'file=@photo.png;filename=me.png' https://google.com/profile

上面命令中,原始文件名為photo.png,但是服務器接收到的文件名為me.png。
-G

-G參數用來構造 URL 的查詢字符串。

$ curl -G -d 'q=kitties' -d 'count=20' https://google.com/search

上面命令會發出一個 GET 請求,實際請求的 URL 為https://google.com/search?q=kitties&count=20。如果省略–G,會發出一個 POST 請求。

如果數據需要 URL 編碼,可以結合–data–urlencode參數。

$ curl -G --data-urlencode 'comment=hello world' https://www.example.com

-H

-H參數添加 HTTP 請求的標頭。

$ curl -H 'Accept-Language: en-US' https://google.com

上面命令添加 HTTP 標頭Accept-Language: en-US。

$ curl -H 'Accept-Language: en-US' -H 'Secret-Message: xyzzy' https://google.com

上面命令添加兩個 HTTP 標頭。

$ curl -d '{"login": "emma", "pass": "123"}' -H 'Content-Type: application/json' https://google.com/login

上面命令添加 HTTP 請求的標頭是Content-Type: application/json,然后用-d參數發送 JSON 數據。
-i

-i參數打印出服務器回應的 HTTP 標頭。

$ curl -i https://www.example.com

上面命令收到服務器回應后,先輸出服務器回應的標頭,然后空一行,再輸出網頁的源碼。
-I

-I參數向服務器發出 HEAD 請求,然會將服務器返回的 HTTP 標頭打印出來。

$ curl -I https://www.example.com

上面命令輸出服務器對 HEAD 請求的回應。

–head參數等同于-I。

$ curl --head https://www.example.com

-k

-k參數指定跳過 SSL 檢測。

$ curl -k https://www.example.com

上面命令不會檢查服務器的 SSL 證書是否正確。
-L

-L參數會讓 HTTP 請求跟隨服務器的重定向。curl 默認不跟隨重定向。

$ curl -L -d 'tweet=hi' https://api.twitter.com/tweet

–limit-rate

–limit-rate用來限制 HTTP 請求和回應的帶寬,模擬慢網速的環境。

$ curl --limit-rate 200k https://google.com

上面命令將帶寬限制在每秒 200K 字節。
-o

-o參數將服務器的回應保存成文件,等同于wget命令。

$ curl -o example.html https://www.example.com

上面命令將www.example.com保存成example.html。
-O

-O參數將服務器回應保存成文件,并將 URL 的最后部分當作文件名。

$ curl -O https://www.example.com/foo/bar.html

上面命令將服務器回應保存成文件,文件名為bar.html。
-s

-s參數將不輸出錯誤和進度信息。

$ curl -s https://www.example.com

上面命令一旦發生錯誤,不會顯示錯誤信息。不發生錯誤的話,會正常顯示運行結果。

如果想讓 curl 不產生任何輸出,可以使用下面的命令。

$ curl -s -o /dev/null https://google.com

-S

-S參數指定只輸出錯誤信息,通常與-s一起使用。

$ curl -s -o /dev/null https://google.com

上面命令沒有任何輸出,除非發生錯誤。
-u

-u參數用來設置服務器認證的用戶名和密碼。

$ curl -u 'bob:12345' https://google.com/login

上面命令設置用戶名為bob,密碼為12345,然后將其轉為 HTTP 標頭Authorization: Basic Ym9iOjEyMzQ1。

curl 能夠識別 URL 里面的用戶名和密碼。

$ curl https://bob:12345@google.com/login

上面命令能夠識別 URL 里面的用戶名和密碼,將其轉為上個例子里面的 HTTP 標頭。

$ curl -u 'bob' https://google.com/login

上面命令只設置了用戶名,執行后,curl 會提示用戶輸入密碼。
-v

-v參數輸出通信的整個過程,用于調試。

$ curl -v https://www.example.com

–trace參數也可以用于調試,還會輸出原始的二進制數據。

$ curl --trace - https://www.example.com

-x

-x參數指定 HTTP 請求的代理。

$ curl -x socks5://james:cats@myproxy.com:8080 https://www.example.com

上面命令指定 HTTP 請求通過myproxy.com:8080的 socks5 代理發出。

如果沒有指定代理協議,默認為 HTTP。

$ curl -x james:cats@myproxy.com:8080 https://www.example.com

上面命令中,請求的代理使用 HTTP 協議。
-X

-X參數指定 HTTP 請求的方法。

$ curl -X POST https://www.example.com

上面命令對https://www.example.com發出 POST 請求。

強行總結:
這位老哥整理的挺好(三聯支持),還有亂碼的解決方式,我先嫖一下下,下次一定。。。
https://blog.csdn.net/qq_45738111/article/details/105265455

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

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

相關文章

Vim進階2 map映射

Vim進階2 map映射 簡介 map是一個 vim 中的一些列映射命令,將常用的很長的命令映射到一個新的功能鍵上。map是Vim強大的一個重要原因,可以自定義各種快捷鍵,用起來自然得心應手。 map系列命令格式 格式 以 map 命令為例,它的…

CTFHUB 《基礎認證》:burp使用,basic請求了解

題目簡介:在HTTP中,基本認證(英語:Basic access authentication)是允許http用戶代理(如:網頁瀏覽器)在請求時,提供 用戶名 和 密碼 的一種方式。詳情請查看 https://zh.w…

信息量、熵、交叉熵、KL散度、JS散度雜談及代碼實現

信息量、熵、交叉熵、KL散度、JS散度雜談及代碼實現 信息量 任何事件都會承載著一定的信息量,包括已經發生的事件和未發生的事件,只是它們承載的信息量會有所不同。如昨天下雨這個已知事件,因為已經發生,既定事實,那…

CTFHUB《Web-信息泄露-備份文件下載》網站源碼,

1.網站源碼 三種方法: 方法一:dirsearch掃描git泄露 有文件下載 拿到flag 方法二:御劍(超時10s) 御劍其實也可以掃出來,但是一般我們掃域名超時時間都是三秒,本環境中需要超時10秒才能得到…

Linux下C/C++程序編譯鏈接加載過程中的常見問題及解決方法

Linux下C/C程序編譯鏈接加載過程中的常見問題及解決方法 1 頭文件包含的問題 報錯信息 該錯誤通常發生在編譯時&#xff0c;常見報錯信息如下&#xff1a; run.cpp:2:10: fatal error: dlpack/dlpack.h: No such file or directory#include <dlpack/dlpack.h>^~~~~~~…

DVWA Command Injection 練習總結

low: 首先查看源碼沒有對字符進行任何過濾 target參數為將要ping的ip地址&#xff0c;比如在輸入框輸入127.0.0.1后&#xff0c;對于windows系統&#xff0c;會發出ping 127.0.0.1操作。 這里可以引入命令行的幾種操作方式&#xff1a; A && B&#xff1a; 先執行A…

在vimrc中設置record

在vimrc中設置record Vim的record功能在大量重復操作的場景下非常實用&#xff0c;但是&#xff0c;一般我們都要每次進入Vim時重新錄制record。而對于一些非常常用的record&#xff0c;我們想讓它永久地保持&#xff0c;我們知道這種需求需要借助Vim的配置文件vimrc。但是具體…

DVWA sql注入 WP

sql注入基本思路&#xff1a; 1.源碼 2.判斷數字型和字符型 3.猜測字段數 4.查詢數據庫中的字段 5.查詢表中的字段 6.查詢user表中的字段 7.拿字段中數據 low: 1.源碼&#xff1a; <?phpif( isset( $_REQUEST[ Submit ] ) ) {// Get input$id $_REQUEST[ id ];// Check…

cmake find_package路徑詳解

cmake find_package路徑詳解 轉自&#xff1a;https://zhuanlan.zhihu.com/p/50829542 經常在Linux下面寫C程序&#xff0c;尤其是需要集成各種第三方庫的工程&#xff0c;肯定對find_package指令不陌生。 這是條很強大的指令。可以直接幫我們解決整個工程的依賴問題&#x…

DVWA File Inclusion——Writeup

文件包含&#xff1a; 即File Inclusion&#xff0c;意思是文件包含&#xff08;漏洞&#xff09;&#xff0c;是指當服務器開啟allow_url_include選項時&#xff0c;就可以通過php的某些特性函數&#xff08;include()&#xff0c;require()和include_once()&#xff0c;requi…

PyTorch JIT與TorchScript

PyTorch JIT與TorchScript 轉自&#xff1a;https://zhuanlan.zhihu.com/p/370455320 如果搜索 PyTorch JIT&#xff0c;找到的將會是「TorchScript」的文檔&#xff0c;那么什么是 JIT 呢&#xff1f;JIT 和 TorchScript 又有什么聯系&#xff1f; 文章只會關注概念的部分&a…

DVWA Cross Site Request Forgery (CSRF) -------WP

CSRF: 介紹 CSRF跨站點請求偽造(Cross—Site Request Forgery)&#xff0c;跟XSS攻擊一樣&#xff0c;存在巨大的危害性&#xff0c;你可以這樣來理解&#xff1a; 攻擊者盜用了你的身份&#xff0c;以你的名義發送惡意請求&#xff0c;對服務器來說這個請求是完全合法的&…

PyTorch C++ API libtorch 簡介

PyTorch C API libtorch 簡介 翻譯自 PyTorch 官方文檔&#xff1a;https://pytorch.org/cppdocs/index.html#acknowledgements 整體劃分 根據 PyTorch 官方文檔 的介紹&#xff0c;PyTorch的C API可以粗略分為以下五個部分&#xff1a; ATen&#xff1a;基礎的張量和數學計…

DVWA upload

LOW medium high impossible

安裝 PyTorch C++ API libtorch 及一個最小例子

安裝 PyTorch C API libtorch 及一個最小例子 翻譯自&#xff1a;https://pytorch.org/cppdocs/installing.html 我們提供依賴 PyTorch 所需的所有頭文件、庫和 CMake 配置文件的二進制分發版。我們將此發行版稱為 LibTorch&#xff0c;您可以在我們的網站上下載包含最新 Lib…

ImageNet 1K 類別名與索引的對應關系

ImageNet 1K 類別名與索引的對應關系 轉自&#xff1a;http://befree2008.github.io/2018/10/05/20181005_ImageNet1000%E5%88%86%E7%B1%BB%E5%90%8D%E7%A7%B0%E5%92%8C%E7%BC%96%E5%8F%B7/ ImageNet 2012 1000個類名稱和編號。ILSVRC2012_img_train.tar 這個文件解壓出來都是…

sqlilab--writeup (5~6) 布爾盲注

1.# 和 – &#xff08;有個空格&#xff09;表示注釋&#xff0c;可以使它們后面的語句不被執行。在url中&#xff0c;如果是get請求**(記住是get請求&#xff0c;也就是我們在瀏覽器中輸入的url)** &#xff0c;解釋執行的時候&#xff0c;url中#號是用來指導瀏覽器動作的&am…

PyTorch導出JIT模型并用C++ API libtorch調用

PyTorch導出JIT模型并用C API libtorch調用 本文將介紹如何將一個 PyTorch 模型導出為 JIT 模型并用 PyTorch 的 CAPI libtorch運行這個模型。 Step1&#xff1a;導出模型 首先我們進行第一步&#xff0c;用 Python API 來導出模型&#xff0c;由于本文的重點是在后面的部署…

sqli-lab--writeup(7~10)文件輸出,時間布爾盲注

前置知識點&#xff1a; 1、outfile是將檢索到的數據&#xff0c;保存到服務器的文件內&#xff1a; 格式&#xff1a;select * into outfile “文件地址” 示例&#xff1a; mysql> select * into outfile ‘f:/mysql/test/one’ from teacher_class; 2、文件是自動創建…

樹莓派4B (aarch64) 安裝PyTorch 1.8 的可行方案

樹莓派4B (aarch64) 安裝PyTorch 1.8 的可行方案 最終可行方案 試了一堆方案&#xff08;源碼編譯、Fast.ai的安裝文件等&#xff09;之后&#xff0c;終于找到一個可行的方案。是在 PyTorch 官方討論社區的一個帖子中找到的&#xff0c;在回復中一個大佬給出了自己在2021年1…