zoukankan      html  css  js  c++  java
  • 十六:SQL注入之查询方式及报错盲注

    在很多注入时,有很多注入会出现无回显的情况,其中不回显的原因可能是SQL查询语句有问题,这时候我们需要用到相关的报错或者盲注进行后续操作,同时作为手工注入的时候,需要提前了解SQL语句能更好的选择对应的注入语句。

    select 查询语句

    查询语句:
    select * from news where id = $id 
    

    insert 插入数据

    在网站中进行新用户增加删除等操作
    insert into news(id,url,text) values(2,'du','tutu')
    

    delete 输出数据

    后台进行删除文章
    delete from news where id = $id
    

    updata 更新数据

    会员后台中心数据同步或者进行缓存等操作
    update user set pwd='$p' where id=2 and username = 'admin'
    

    order by 排序数据

    一般结合表名或者列名进行数据排序操作
    select * from news order by $id
    select id,name,price from news order by $order
    

    SQL注入报错盲注

    盲注就是在注入过程中,获取的数据不能回显至前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。
    盲注分为三类:
    

    (二)基于布尔的盲注-逻辑判断

    	regexp,like,ascii,left,ord,mid
    

    (三)基于时间的盲注-延时判断

    	if,sleep
    		select * from member where id = 1 and sleep(if(database()='pikuchu',5,0))
    	引号可能会被转义,所以需要加入ascii
    

    (一)基于报错的SQL盲注-报错回显

    	floor,updatexml,extractvalue
    		updatexml(1,concat(0x7e,database()),0)
    

    参考:

    	like 'ro%'  #判断or 或者ro 是否成立
    	regexp '^xiaodi [a-z]' #匹配xiaodi及xiaodi...等
    	if(条件,5,0) #条件成立,返回5  反之 返回 0
    	sleep(5) # SQL语句延时执行5秒
    	mid(a,b,c) # 从位置b开始,截取a字符串的c位
    	substr(a,b,c)# 从b位置开始,截取字符串a的位置
    	left(database(),1) # left(a,b) 从左截取a的前b位
    	length(database())= 8 # 判断数据库名的长度
    	ord = ascii ascii(x)= 97 # 判断ascii码是否等于97
    	
                access猜解出了数据库名,不知道列名,用偏移注入。
  • 相关阅读:
    PLECS—晶闸管-第九周
    第五六周读书笔记
    PLEC-交流电机系统+笔记
    直流电机交流电机读书笔记-4
    PLECS—直流电机系统2
    自动化技术中的进给电气传动-读书笔记3
    文档保存
    TensorFlow安装教程(CPU版)
    团队项目开发日志--(第四篇)
    团队项目开发日志--(第三篇)
  • 原文地址:https://www.cnblogs.com/SnowSec/p/14280362.html
Copyright © 2011-2022 走看看