安全矩阵

 找回密码
 立即注册
搜索
查看: 754|回复: 0

如何利用curl进行hacking

[复制链接]

249

主题

299

帖子

1391

积分

金牌会员

Rank: 6Rank: 6

积分
1391
发表于 2023-2-2 10:17:12 | 显示全部楼层 |阅读模式
原文链接:如何利用curl进行hacking


如何利用curl进行hacking
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
前言
主要记录一下curl相关的一些知识
curl,或称客户端URL是一个命令行工具,可以通过终端在设备和服务器之间进行数据交换。
curl最大的特点是它几乎支持所有的主要协议,即:DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET, TFTP
检查curl的第一件事是,你能用它做什么。点击一个简单的命令:
  curl -h
Usage: curl [options...] <url>
-d, --data <data>   HTTP POST data
-f, --fail          Fail silently (no output at all) on HTTP errors
-h, --help <category>  Get help for commands
-i, --include       Include protocol response headers in the output
-o, --output <file>  Write to file instead of stdout
-O, --remote-name   Write output to a file named as the remote file
-s, --silent        Silent mode
-T, --upload-file <file>  Transfer local FILE to destination
-u, --user <user:password>  Server user and password
-A, --user-agent <name>  Send User-Agent <name> to server
-v, --verbose       Make the operation more talkative
-V, --version       Show version number and quit
This is not the full help, this menu is stripped into categories.
Use "--help category" to get an overview of all categories.
For all options use the manual or "--help all".
向远程服务器提交一个文件,如果你想用curl来做,有一个命令:
curl -F file=@file.exe" http://example.com/file/upload/
这将把你的文件上传到所需的服务器上,然后你可以尝试RCE等。
使用curl的另一个很好的例子是我们可以修改默认的DNS配置:
$ curl --dns-ipv4-addr 192.168.0.1 http://www.example.com
$ curl --dns-interface eth1 http://www.example.com
解析主机名的DNS请求将从192.168.0.1eth1发出。
你也可以用curl来刷新/刷新一个登录表格:-
$ curl --data "email=test@example.com&password=test" http://1.1.1.1/login.php
我们也可以尝试通过curl创建新用户:-
$ curl --data "name=test&email=test@test.com&password=test" http://10.10.10.10/newuser.php
捕获HTTP请求的完整跟踪:-
$ curl --trace - https://example.com/
我们也可以用它来从服务器上下载一个文件。
识别服务器上允许的HTTP标头:-
curl v X OPTIONS http://www.google.com
curl也被用于HTTP认证中。认证是用来告知服务器用户的用户名和密码,这样它就可以验证你是否被允许发送你所发送的请求。我们可以用这个命令来检查:-
curl data uname=test&pass=test http://example.com/login.php
我们可以为一个请求指定一个referer-
它还可以生成个性化的输出。
$ curl --silent --write-out "Response code: %{http_code}\nTotal time: %{time_total}" https://example.com


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 02:38 , Processed in 0.012333 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表