首页 > 数据库 >WEB漏洞—SQL注入之查询方式及报错盲注

WEB漏洞—SQL注入之查询方式及报错盲注

时间:2023-05-29 12:11:57浏览次数:50  
标签:语句 WEB 0x7e 报错 SQL 盲注 id

 

前言:当进行 SQL 注入时,有很多注入会出现无回显的情况,其中不回显的原因可能是 SQL 语句查询方式的问题导致,这个时候我们需要用到相关的报错或盲注进行后续操作,同时作为手工注入时,提前了解或预知其SQL 语句大概写法也能更好的选择对应的注入语句。

 

#补充:上课的Access暴力猜解不出的问题?

Access偏移注入:解决列名获取不到的情况
查看登陆框源代码的表单值或观察URL特征等也可以针对表或列获取不到的情况

参考笔记:https://www.fujieace.com/penetration-test/access-offset-injection.html

 

SQL语句网站应用   1.select查询数据
 在网站应用中进行数据显示查询操作
 例: select * from news where id=$id   2.insert插入数据  在网站应用中进行用户注册添加等操作  例:insert into news(id,ip,time,url) values(1,127.0.0.1,18:00,'xxx')

3.delete删除数据
 后台管理里面删除文章删除用户等操作
 例: delete from news where id=$id

4.update更新数据
 会员或后台中心数据同步或缓存等操作
 例: update user set pwd='$p' where id=2 and username=' admin'

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

 

 

二、SQL语句盲注

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

1、基于布尔的sQL盲注-逻辑判断 regexp, like , ascii,left, ord , mid
2、基于时间的sQL盲注-延时判断 if ,sleep
3、基于报错的sQL盲注-报错回显 floor, updatexml, extractvalue

 

基于报错的 SQL 盲注-报错回显 floor,updatexml,extractvalue https://www.jianshu.com/p/bc35f8dd4f7c

 

1.insert语句

通过浏览器抓包,修改数据

'or updatexml(1,concat(0x7e,version(),0x7e),0) or'

这里的version()也可以修改成database()等,将注意语句放在语句的其他位置是可以的,注意看网站提交的数据

 

2.update语句

'or updatexml(1,concat(0x7e,version(),0x7e),0) or'

与insert一样的操作,原理一致

3.delete语句

'or updatexml(1,concat(0x7e,version(),0x7e),0) or'

 一样的操作,但是要对添加的语句进行url编码(ctrl+u)

 

参考:

like 'ro%'

#判断 ro 或 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 的 c 长度

left(database(),1),database() #left(a,b)从左侧截取 a 的前 b 位

length(database())=8 #判断数据库 database()名的长度

ord=ascii ascii(x)=97 #判断 x 的 ascii 码是否等于 97

 

三、SQL时间盲注

基于时间的 SQL 盲注-延时判断

if,sleep

 

 1.sleep()

例:sleep(5)   #SQL 语句延时执行 5 秒

2.if

 例:if(条件,2,0)          #条件成立 返回 2 反之 返回 0

3.if+mid+sleep

判断数据库名称是不是以p开头如果是的话就延迟五秒输出  

 

四、布尔盲注

布尔(Boolean)型是计算机里的一种数据类型,只有True(真)和False(假)两个值。一般也称为逻辑类型。

1.判断数据库长度  ?id=1%27 and Length(database())>7 --+

#left(a,b)从左侧截取 a 的前 b 位

2.截取数据库版本的前2位 ?id=1%27 and left(version(),2)=5. --+

 

 

 

 

标签:语句,WEB,0x7e,报错,SQL,盲注,id
From: https://www.cnblogs.com/Zx770/p/17439900.html

相关文章

  • MYSQL round()函数
    在mysql中,round函数用于数据的四舍五入,它有两种形式:1、round(x,d) ,x指要处理的数,d是指保留几位小数这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0;2、round(x) ,其实就是round(x,0),也就是默认d为0;下面是几个实例1、查询: selectro......
  • mysql
    B树。b+树的区别:为什么,以及好处,坏处 。  B-树可以看成是平衡二叉树的多路树,每个节点上既存储索引关键字,又存储记录。查找时候从根节点开始查找。 B+树只有叶子结点存储记录,非叶子结点上存储关键字,mysql慢查询,如何优化。为什么选择N树,B+树 不选自,二叉树,红黑......
  • MySQL中时间函数NOW()和SYSDATE()的区别
    mysql中日期函数还是比较常用的。主要有NOW()和SYSDATE()两种,虽然都表示当前时间,但使用上有一点点区别。NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间。因为NOW()取自mysql的一个变量”TIMESTAMP”,而这个变量在语句开始执行的时候就设定好了,因此在整个语句......
  • MySQL 将 字符串 转为 整数
    1、CAST(eprAStype)1)type为 SIGNEDSELECTCAST("-12"ASSIGNED);效果如下:2)type为UNSIGNEDSELECTCAST("-12"ASUNSIGNED);效果如下:2、CONVERT(expr,type)SELECTCONVERT('123',SIGNED);额外补充1、CAST和CONVERT两个函数中的type取值可以为:SIGNED,UNS......
  • ubuntu22安装docker、redis、mysql及部署net6应用
    一、更新系统软件包索引sudoaptupdate二、安装dockersudoaptinstalldocker.io三、在docker中安装Mysql拉取mysql镜像dockerpullmysql:latest查看镜像dockerimages运行容器dockerrun-itd-p3306:3306-eMYSQL_ROOT_PASSWORD=123456--namemysql......
  • MySQL主从复制验证性配置操作
    前置条件:VMwareWorkstationPro、CentOS7两台同网段虚机dw2(ip:192.168.203.202),dw3(ip:192.168.203.203)1.数据库安装和初始化yuminstall-ymariadbmariadb-servermariadb-develvim/etc/my.cnf#打开mysql-bin功能[mysqld]server-id=2log-bin=mysql-bin#启动marid......
  • MySQL优化思路及方向
    本系列为:MySQL数据库详解,为千锋资深教学老师独家创作,致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流!前言从今天开始本系列文章就带各位小伙伴学习......
  • git 报错;bad config in file .gitconfig
    报错如下解决办法删除.gitconfig文件,然后重启gitbash&vscode即可正常显示分支了。记得重新设置git的账号邮箱。......
  • sqli-labs 11到14题
    第11题打开是这种页面随便输入一个账号密码,查看传参为post方式 这个题有点奇怪,hackbar不能点运行,点了会说form.submitisnotafunction:不知道大家有没有遇到这种情况 我们查看源码: 应该是name="submit"冲突了 使用burpsuite抓包:这种登录题一般使用万能密码试探......
  • 循环依赖导致编译或者服务启动报错问题:The dependencies of some of the beans in the
    错误如图: 我的是服务器启动服务时报错:***************************APPLICATIONFAILEDTOSTART***************************Description:Thedependenciesofsomeofthebeansintheapplicationcontextformacycle报错原因:两个类相互引用对方,导致Spring在初始化b......