1、概述

cURL是一个命令行下用于传输数据的工具,支持多种协议

cURL有如下特性:

1、支持多种协议,包括:DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET, TFTP等。

2、可以在shell脚本中使用

3、支持断点续传等功能,支持进度条,速率限制和下载时间详细信息显示

4、包含 120 个命令行选项用于不同的任务

5、支持几乎所有操作系统(超过40个操作系统)

6、支持 cookiesformsSSL

7、curllibcurl库都是开源软件,可以在任何程序中使用它们

8、支持配置文件

9、单条命令上传多文件

10、支持 ipv6 协议

大部分Linux发行版都默认安装有curl工具,如果没有安装,可以使用apt install curl(ubuntu,debian,kali)或者yum install curl(CentOS)进行安装。

本教程所用环境为Web For Pentester,这是一个包含多种 web应用程序漏洞的环境。

2、命令注入漏洞测试

打开Web For Pentester环境,它长这样:

点击命令注入(Commands injection)中的 Example1

默认是执行了一个ping命令。我们通过curl发送http请求,执行其他命令试试,比如ls查看目录文件命令。

命令如下:

curl "http://192.168.177.137/commandexec/example1.php?ip=127.0.0.1;ls"
复制代码

返回结果如下:

可以发现ls命令执行成功,返回了目录下的三个文件信息,分别是example1.phpexample2.phpexample3.php

当然也可以查看其他目录下的文件信息,比如这样:

curl "http://192.168.177.137/commandexec/example1.php?ip=127.0.0.1;ls%20\/"
复制代码

返回的信息中,则是 /根目录下载的文件列表信息:

3、从URL下载文件

curl可以从任何网站或主机下载数据,比如下载一个putty工具

curl -O https://the.earth.li/~sgtatham/putty/latest/putty.exe
复制代码

可以看到有速度、进度等详细信息。

4、HTTP 标头信息识别

curl可以用来测试目标网站支持的HTTP方法

命令如下:

curl -v -X OPTIONS http://www.example.com
复制代码

从返回的信息可以看到该网站支持的HTTP方法

5、文件包含漏洞测试

文件包含漏洞是指允许攻击者包含Web服务器上任意文件,从而达到读取敏感信息的目的。

同样我们可以用curl进行测试

使用File Include中的example1进行测试。

我们尝试包含服务器上的/etc/passwd文件,命令如下:

curl "http://192.168.177.137/fileincl/example1.php?page=/etc/passwd"
复制代码

返回结果如下:

成功返回了/etc/passwd文件的内容。

6、HTTP身份认证

使用curl可以实现HTTP基础身份认证,从而登录目标网站。

命令如下:

curl --data "uname=test&pass=test" http://testphp.vulnweb.com/userinfo.php
复制代码

从返回结果来看,包含了地址,用户名等信息,说明登录成功了

7、 文件上传漏洞测试

文件上传漏洞是指 Web应用程序允许图像或其他文件上传,如过滤不严格可以导致任意文件上传,比如上传恶意的代码文件。

使用File Upload中的example1进行测试。

我们尝试将putty.exe文件上传到目标服务器。

命令如下:

curl -F 'image=@/root/putty.exe' http://192.168.177.137/upload/example1.php
复制代码

返回结果提示,文件上传到了/upload/images/目录,说明文件上传成功了。

我们可以访问这个目录看看是否如此:

可以看到,确实上传成功了。

8、说明

本文由合天网安实验室编译,转载请注明来源。

原文链接:

Web Application Penetration Testing with curl

关于合天网安实验室

合天网安实验室(www.hetianlab.com)-国内领先的实操型网络安全在线教育平台

真实环境,在线实操学网络安全 ; 实验内容涵盖:系统安全,软件安全,网络安全,Web安全,移动安全,CTF,取证分析,渗透测试,网安意识教育等。

转载于:https://juejin.im/post/5c8746706fb9a04a006fda0a

cURL在Web渗透测试中的应用相关推荐

  1. Web渗透测试中常见逻辑漏洞解析与实战

    注:以下漏洞示例已由相关厂商修复,切勿非法测试! 0x01 漏洞挖掘 01  注册 注册中最常见的有两个,一个是恶意注册,另一个是账户遍历.一个好的注册界面应该是这样 或者这样的 而不是这样的 要么使 ...

  2. Web渗透测试常规套路

    注:文章首发自合天智汇微信公众平台 0x01:本篇文章旨在给小白白们做一次有关web渗透的科普,其中涉及到的套路.工具可能在如今XX狗.XX盾当道的社会已不再适用,但是其中涉及的思想永远不会过时,其中 ...

  3. Kali Linux Web 渗透测试秘籍 第三章 爬虫和蜘蛛

    第三章 爬虫和蜘蛛 作者:Gilberto Najera-Gutierrez 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 渗透测试可以通过多种途径完成,例如黑盒.灰盒和白盒.黑盒测试在测试 ...

  4. 【3】web安全入门篇-渗透测试中常用的命令

    1.linux命令 渗透测试中常用的linux命令 上面博客提到的基本都能满足需求 2.cmd命令 常用的cmd命令 cmd命令和linux命令常用的对于web入门的萌新可以看看上面博客,多敲一敲用的 ...

  5. 轻量级Web渗透测试工具jSQL

    轻量级Web渗透测试工具jSQL jSQL是Kali集成的一款轻量级的Web渗透测试工具.最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具.Kali提供的版本较 ...

  6. Kali Linux Web 渗透测试秘籍 第六章 利用 -- 低悬的果实

    第六章 利用 – 低悬的果实 作者:Gilberto Najera-Gutierrez 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 这章开始我们会开始涉及渗透测试的的利用层面.和漏洞评估的 ...

  7. Kali Linux Web 渗透测试秘籍 第九章 客户端攻击和社会工程

    第九章 客户端攻击和社会工程 作者:Gilberto Najera-Gutierrez 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 我们目前所见的大部分技巧都尝试利用服务端的漏洞或设计缺陷 ...

  8. Kali Linux Web 渗透测试秘籍 第二章 侦查

    第二章 侦查 作者:Gilberto Najera-Gutierrez 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 在每个渗透测试中,无论对于网络还是 Web 应用,都有一套流程.其中需要 ...

  9. Kali Linux Web 渗透测试秘籍 第四章 漏洞发现

    第四章 漏洞发现 作者:Gilberto Najera-Gutierrez 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 我们现在已经完成了渗透测试的侦查阶段,并且识别了应用所使用的服务器和 ...

最新文章

  1. 欧加自贸协定“难产” 物联网安全受关注
  2. IIS_FastCGI+php5.3+wincache+memcached+ZendLoader
  3. php describe,php – 在Zend框架中的许多DESCRIBE查询
  4. 著名Youtuber “NELK “发布有关比特币购买游艇的视频
  5. pku1063 Flip and Shift严格证明
  6. Chrome上网问题解决记录
  7. 超级列表框排序mysql_超级列表框排序
  8. android投屏到web,网络视频投屏Web Video Cast v5.2.0 for Android 解锁高级版
  9. matlab语法——subplot函数
  10. ads1115多片并联
  11. 广州电子路考视频发布 2014广州电子路考考点
  12. css选择器有哪些?
  13. SpringBoot整合liquibase
  14. 基于微信小程序的疫情智慧社区管理系统 计算机毕业设计 后台管理系统
  15. 企业AD域(域控服务器)的安装和配置详细教程
  16. strip()函数用法简介
  17. 离散数学·代数结构【正规子群、商群、群的同态和同构、环与域、格、布尔代数】
  18. 红米手机4android os是木马怎么清除,红米Note4卡刷教程_红米Note4用recovery刷第三方系统包...
  19. 微信小程序开发—小程序开发入门
  20. Scala 中的 特质(trait)

热门文章

  1. Eclipse基础设置
  2. Linux配置最基础的命令
  3. 关于HTTP中40X和50X的问题(介绍,可根据介绍找出问题解决方案)
  4. Win7 路由上网DNS服务器ping不通的解决方法
  5. jest java_✅使用jest进行测试驱动开发
  6. mybaitplus 根据id批量进行修改_批量重命名工具
  7. 极客大挑战2020_CTF-Web-[极客大挑战 2019]HardSQL
  8. python中isinstance用法_Python内置isinstance函数详细介绍
  9. esxi直通 gen8_HP MicroServer Gen8与ESXI采坑之旅
  10. python pymysql实例_python-Mysql的操作(pyMysql的介绍)