Cookie,指某些网站为了辨别用户身份而储存在用户本地终端上的数据。Cookie在web应用中至关重要,用户的唯一标识session id也是存在cookie中的。

那么,在sqlmap使用的时候,也会经常需要考虑到cookie。sqlmap也提供了和cookie相关的命令,本文将会介绍。

1. cookie保存了用户登录状态

很多网站的功能都是需要登陆后才能访问,而http本身是无状态的,因此服务器通常是通过cookie确认用户身份。

sqlmap进行检测时,默认是不带cookie的,发出去的请求会被服务器拒之门外。

这时,我们需要带上cookie才能进行sql注入检测,我们可以通过多种方法增加cookie,注意-v 4表示输出请求头信息,因为cookie在请求头中。

默认情况下不带cookie,注意看header。

root [~] ./sqlmap.py -u 'http://localhost/sqltest.php?id=1' -v 4

[18:57:46] [TRAFFIC OUT] HTTP request [#1]:

GET /testforcoolcard/sqltest.php?id=1 HTTP/1.1

Accept-language: en-us,en;q=0.5

Accept-encoding: gzip,deflate

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

User-agent: sqlmap/1.0.9.8#dev (http://sqlmap.org)

Accept-charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7

Host: 192.168.16.51

Pragma: no-cache

Cache-control: no-cache,no-store

Connection: close

使用--header命令,可以增加自定义header,这里加入一个cookie字段为is_login,可以看到sqlmap发出去的请求已经加入了cookie。

root [~] ./sqlmap.py -u 'http://localhost/sqltest.php?id=1' -v 4 --headers 'Cookie: is_login=1'

[19:06:15] [TRAFFIC OUT] HTTP request [#1]:

GET /testforcoolcard/sqltest.php?id=1 HTTP/1.1

Host: 192.168.16.51

Cookie: is_login=1

Accept-encoding: gzip,deflate

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

User-agent: sqlmap/1.0.9.8#dev (http://sqlmap.org)

Connection: close

使用-r命令,可以模拟指定的请求行为。

一般情况下,手动去复制cookie在放到header里面,太复杂。一般都是通过工具,直接把想要分析的网络请求抓下来,存成一个文本,sqlmap可以自己分析这个文本。

我们可以通过浏览器调试工具复制请求头信息,也可以通过Burpsuite抓包解惑,什么样的方法都可以,总之格式保证是正确的就好。

假设存储文件为test.cookie,sqlmap命令如下,注意此时不需要再输入-u网址了。

root [~] ./sqlmap.py -v 4 -r test.cookie

[19:17:11] [TRAFFIC OUT] HTTP request [#1]:

GET /testforcoolcard/sqltest.php?id=1 HTTP/1.1

Host: 192.168.16.51

Accept-language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-encoding: gzip, deflate

Cache-control: max-age=0

Cookie: is_login=1

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0

Connection: close

使用--cookie命令,这个命令更方便。

root [~] ./sqlmap.py -u 'http://localhost/sqltest.php?id=1' -v 4 --cookie 'is_login=1'

[19:21:23] [TRAFFIC OUT] HTTP request [#1]:

GET /testforcoolcard/sqltest.php?id=1 HTTP/1.1

Accept-language: en-us,en;q=0.5

Accept-encoding: gzip,deflate

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

User-agent: sqlmap/1.0.9.8#dev (http://sqlmap.org)

Accept-charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7

Host: 192.168.16.51

Cookie: is_login=1

Pragma: no-cache

Cache-control: no-cache,no-store

Connection: close

2. 参数在cookie中的注入

检查一个请求是否存在sql注入,一般是通过GET和POST进行测试,但是有些时候,参数是放在cookie里面,我们需要对cookie的参数进行注入测试,这个时候怎么办呢?

我们继续以is_login为注入点,直接使用--cookie 'is_login=1'带上is_login参数,并没有用。此时,sqlmap是不会构造不同的is_login进行攻击的。

首先,看一下sqlmap源代码,有对--level说明。

# Test User-Agent and Referer headers only if

# --level >= 3

skip = (place == PLACE.USER_AGENT and conf.level < 3)

skip |= (place == PLACE.REFERER and conf.level < 3)

# Test Host header only if

# --level >= 5

skip |= (place == PLACE.HOST and conf.level < 5)

# Test Cookie header only if --level >= 2

skip |= (place == PLACE.COOKIE and conf.level < 2)

可以看到,我们只要输入的--level大于等于2,cookie就会进行注入检测。

由于此时,我不想检测id参数,只想检测is_login。我们可以通过-p命令指定检测具体对象。

root [~] ./sqlmap.py -u 'http://localhost/sqltest.php?id=1' -v 4 --cookie 'is_login=1' --level=2 -p 'is_login'

do you want to URL encode cookie values (implementation specific)? [Y/n]

sqlmap使用cookie,就写到这里吧。

sqlmap指定cookie_sqlmap处理cookie数据相关推荐

  1. sqlmap指定cookie_SQLmap

    **参数解释** 星号 在注入的过程中,有时候是伪静态的页面,可以使用星号表示可能存在注入的部分 --data 使用post方式提交的时候,就需要用到data参数了 -p 当我们已经事先知道哪一个参数 ...

  2. sqlmap指定cookie_sqlmap使用

    kali中sqlmap的使用 sqlmap简介: SQLmap是一个自动化的SQL注入攻击,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞. 目前支持Mysql.Oracle.MS-SQL. ...

  3. 获取chrome80谷歌浏览器存储的指定网站Cookie数据方法详解

    一.引言 说起来很惭愧,作为一个开了爬虫专栏的博主,对于需要登录再访问网站的爬虫应用,采用的是通过浏览器开发者模式获取Cookie,再拷贝到网站访问的代码中构建http请求头的方式来实现的. 这两天仔 ...

  4. 用 API 提取、写入指定网站的 Cookie - 回复 bangrj 的问题

    问题来源: http://www.cnblogs.com/del/archive/2009/02/27/1399526.html#1463307 本例效果图: 代码文件: unit Unit1;int ...

  5. set-cookie 和 cookie 的区别_Go Web 编程如何确保Cookie数据的安全传输

    什么是Cookie Cookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上.通常, ...

  6. Go Web 编程--如何确保Cookie数据的安全传输

    什么是Cookie Cookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上.通常, ...

  7. python pandas库读取excel/csv中指定行或列数据详解

    通过阅读表格,可以发现Pandas中提供了非常丰富的数据读写方法,下面这篇文章主要给大家介绍了关于python利用pandas库读取excel/csv中指定行或列数据的相关资料,需要的朋友可以参考下 ...

  8. numpy使用[]语法索引二维numpy数组中指定指定行之后所有数据行的数值内容(accessing rows in numpy array after specifc row)

    numpy使用[]语法索引二维numpy数组中指定指定行之后所有数据行的数值内容(accessing rows in numpy array after specifc row) 目录

  9. numpy使用[]语法索引二维numpy数组中指定指定行之前所有数据行的数值内容(accessing rows in numpy array before specifc row)

    numpy使用[]语法索引二维numpy数组中指定指定行之前所有数据行的数值内容(accessing rows in numpy array before specifc row) 目录

最新文章

  1. 网络设置计算机,怎么重置电脑网络设置
  2. android 表示空字符串,Android Logcat获取空字符串时非常奇怪的行为
  3. 【Android 逆向】Android 进程注入工具开发 ( EIP 寄存器指向 dlopen 函数 | ESP 寄存器指向栈内存 | 调试程序收回目标进程控制权 )
  4. anki 插入表格_anki|建造师选择题制作的方法
  5. 你的Java代码是否符合规范,来测测便知!
  6. Java虚拟机(二)对象的创建与OOP-Klass模型
  7. Android --- 按钮控件设置与不设置背景都会有一个小小的灰色阴影怎么去掉?
  8. 经典设计模式——策略模式
  9. 通过ClassLoader加载硬盘上的图片到内存及ImageIO的使用
  10. mysql 多数据库实例_Mysql多实例安装
  11. 计算机一级excel如何选择2个,2017年计算机一级excel操作题(2)
  12. 【Flink】Flink Checkpoint 问题排查实用指南
  13. hibernate二级缓存作用、配置
  14. Bootstrap---dateTimePicker时间控件配置与应用
  15. 多声道在系统和软件里的设置与应用(普通声卡和dante声卡)
  16. Win7小工具“美女报时”,搜道版,v1.0.4.0
  17. 大咖访谈丨金星分享2020年直播数据,助农产品如何走上产销快车道
  18. RAML规范1.0(译文)
  19. L1-030——一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。
  20. 深圳大学 计算机 教育部学科,深圳大学有13个A类学科,位居全国第24!

热门文章

  1. UVa 10288 (期望) Coupons
  2. Perl opendir()函数
  3. 今天又遇到了一个问题
  4. html之CSS设计(CSS伪类、优先级、字体属性、背景属性)
  5. 让人头皮发麻的KMP的next函数 困扰我三四天后终于解决了
  6. 计算机软件理论基础集合论,从数理逻辑观点看计算机专业的理论基础探讨
  7. Python+ZeroMQ快速实现消息发布与订阅
  8. Python+pandas使用重采样技术按时间段查看员工业绩
  9. Python读取Excel文件统计演员参演电影
  10. Linux文本界面配置yum源,修改Linux默认语言 配置yum源