CTFHub HTTP请求方式
百度了一下找到了解题方法
使用 Windows 自带的cmd命令行中的 curl命令
cu
rl -v -X CTFHUB URL
输入这个命令,网址的详细信息包括在下边,在html的源代码里面找出flag就行
关于curl命令
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具
url用来‘从server传输数据’或者‘传输数据到server’,支持多种协议(HTTP, HTTPS, FTP, FTPS, SCP,
SFTP, TFTP, DICT, TELNET, LDAP or FILE)。
curl提供了大量有用的技巧像 proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume and more。
curl由libcurl支持完成transfer-related(传输相关)的功能
以下为部分常用的curl命令
**直接在 curl 命令后加上网址,就可以看到网页源码。**
> -A:随意指定自己这次访问所宣称的自己的浏览器信息
>
> -b/--cookie <name=string/file> cookie字符串或文件读取位置,使用option来把上次的cookie信息追加到http request里面去。
>
> -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
>
> -C/--continue-at <offset> 断点续转
>
> -d/--data <data> HTTP POST方式传送数据
>
> -D/--dump-header <file> 把header信息写入到该文件中
>
> -F/--form <name=content> 模拟http表单提交数据
>
> -m/--max-time <seconds> 指定处理的最大时长
>
> -H/--header <header> 指定请求头参数
>
> -L 参数,curl 就会跳转到新的网址
>
> -s/--slient 减少输出的信息,比如进度
>
> --connect-timeout <seconds> 指定尝试连接的最大时长
>
> -x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080
>
> -X/--使用特定方法请求网页文本
>
> -T/--upload-file <file> 指定上传文件路径
>
> -o/--output <file> 指定输出文件名称(保存文件)
>
> --retry <num> 指定重试次数
>
> -e/--referer <URL> 指定引用地址
>
> -I/--head 仅返回头部信息,使用HEAD请求
>
> -i 参数可以显示 http response 的头信息,连同网页代码一起。-I 参数则只显示 http response 的头信息。
>
> -u/--user <user[:password]>设置服务器的用户和密码
>
> -v/可以显示一次 http 通信的整个过程,包括端口连接和 http request 头信息
>
> -O:按照服务器上的文件名,自动存在本地
>
> -r/--range <range>检索来自HTTP/1.1或FTP服务器字节范围
>
> -T/--upload-file <file> 上传文件
**
五、发送表单信息
发送表单信息有 GET 和 POST 两种方法。GET 方法只要把数据附在网址后面就行。
$ curl example.com/form.cgi?data=xxx
POST 方法必须把数据和网址分开,curl 就要用到 --data 或者 -d 参数。
$ curl -X POST --data “data=xxx” example.com/form.cgi
如果你的数据没有经过表单编码,还可以让 curl 为你编码,参数是 --data-urlencode。
$ curl -X POST–data-urlencode “date=April 1” example.com/form.cgi
六、HTTP动词
curl 默认的 HTTP 动词是 GET,使用 -X 参数可以支持其他动词。
$ curl -X POST www.example.com $ curl -X DELETE www.example.com
七、User
Agent字段这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页,比如手机版和桌面版。 浏览器的 User
Agent 是:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/51.0.2704.84 Safari/537.36 curl 可以这样模拟:$ curl --user-agent “[User Agent]” [URL]
八、cookie
使用 --cookie 参数,可以让 curl 发送 cookie。
$ curl --cookie “name=xxx” www.example.com 至于具体的 cookie 的值,可以从 http
response 头信息的 Set-Cookie 字段中得到。
九、增加头信息–header
有时需要在 http request 之中,自行增加一个头信息。–header 参数就可以起到这个作用。
$ curl --header “Content-Type:application/json” http://example.com
十、HTTP认证
有些网域需要 HTTP 认证,这时 curl 需要用到 --user 或者 -u 参数。
$ curl --user name:password example.com
就这么多…害,明天把HTTP协议看了吧
本文介绍了如何在CTFHub中利用curl命令进行HTTP请求,包括GET和POST方法,HTTP动词,设置User-Agent,管理cookie,添加自定义头信息以及处理HTTP认证。通过实例展示了curl在发送表单信息、模拟不同设备和处理认证过程中的用法。
3613

被折叠的 条评论
为什么被折叠?



