• curl -h


    在推特上看到国外牛人一行代码收集子域名,仔细看了一下用到的姿势,其中有curl,碰巧看到阮一峰大牛的curl用法指南文章,于是决定总结一下curl。

    一行代码收集子域名

    for h in $(cat hosts.txt); do curl -siL https://$h|egrep -io  "[0-9a-z_-.]+.([0-9a-z_-]+)?`echo $h|awk -F '.' '{print $(NF-1)}'`([0-9a-z_-.]+)?.[a-z]{1,5}"|sort -fu ; done
    

    curl用法示例

    -X 指定请求方法
    -x 指定HTTP请求的代理
    -H 指定请求标头
    -d 发送POST请求提交的数据,使用-d参数后,会自动将请求转为POST,HTTP请求会自动加上标头Content-Type : application/x-www-form-urlencoded,可省略-X POST
    -v 显示http通信的整个过程
    -u 设置服务器认证的用户名和密码
    
    -i 显示Response头信息,并打印源码
    -I 显示Response头信息,不打印源码
    
    -s 不输出错误和进度信息
    -S 指定只输出错误信息
    
    -L 自动跳转,curl默认不跟随跳转
    -k 跳过SSL检测
    
    -o 文件名 保存
    -O 将URL的最后部分当作文件名保存
    

    一、 GET请求查看源码

    不加参数时,默认发出GET请求,查看页面源码

    curl http://www.baidu.com
    

    二、 POST提交登录表单

    以dvwa登录为例:-H添加请求头,-L开启自动跳转,-i打印请求头和页面源码,可以看到欢迎界面源码。

     curl  -i -L -H'Cookie: security=impossible; PHPSESSID=dm4a5af6tntekl7jlfi7pl42b3' -H'Host: 10.211.55.4' -d'username=admin&password=password&Login=Login&user_token=6c2b5b838ed4e555e11cc40a63010e6c' http://10.211.55.4/dvwa/login.php
    

    三、 添加HTTP请求头

    设置User-Agent绕过服务器访问代理检测,可用于爬虫欺骗

    curl -H'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:69.0) Gecko/20100101 Firefox/69.0'
    

    设置Host绕过主机头检测,替代更改host文件的繁琐操作

    curl -H'Host: xxxx' IP
    

    四、指定代理访问

    -x指定代理,可用于IP被拉黑时绕过IP检测

    curl -x 127.0.0.1:8080 http://www.baidu.com
    

    五、跳过SSL检测

    curl -k 
    

    六、自动跳转

    curl -L
    

    七、打印Response头信息

    -i显示Response头信息,并打印源码,-I的区别是不打印源码,可用于探测服务器信息

    curl -I http://www.baidu.com
    

    八、下载文件

    -o指定文件名保存,-O将URL的最后部分当作文件名保存

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    

    九、上传文件

    curl -F 'file=@/Desktop/photo.png' https://xxx.com
    

    十、安全测试

    不安全的HTTP方法

    curl -X OPTIONS http://xxx.com
    

    查看curl支持的协议

    $ curl-config --protocols
    DICT
    FILE
    FTP
    FTPS
    GOPHER
    HTTP
    HTTPS
    IMAP
    IMAPS
    LDAP
    LDAPS
    POP3
    POP3S
    RTSP
    SMB
    SMBS
    SMTP
    SMTPS
    TELNET
    TFTP
    

    端口探测

    $ curl 127.0.0.1:21
    220 pyftpdlib 1.5.5 ready.
    $ curl ftp://127.0.0.1 21
    curl: (67) Access denied: 530
    curl: (7) Access denied: 530
    

    参考
    http://www.ruanyifeng.com/blog/2019/09/curl-reference.html

  • 相关阅读:
    “铁大失物帮”Alpha版使用说明
    绩效评估
    改进方案评论
    意见汇总
    对其他团队项目的意见和建议
    冲刺周期
    属于我的专属博客团队地址
    第一个冲刺周期-第三天
    第一个冲刺周期-第二天
    动手动脑与动手
  • 原文地址:https://www.cnblogs.com/mark-zh/p/11770358.html
Copyright © 2020-2023  润新知