1.mysql-root高权限读写注入
例如mysql文件的读取,当我们输入这行代码的时候就可以读取服务器中的文件
而输入这一行,就可以写入文件,到服务器中
来到这个自己搭建的案例
输入这个可以读取
然后还可以写入
然后我们一般读取的是配置型文件(就如这样)
一般去这找配置型文件
我们也可以上网搜,或者搜索phpinfo
还有就是通过报错来找
我们通过这种方式,将后门写进去,然后用菜刀连接
但有的时候会读写不成功
打开这个mysql-ini
secure-file-priv会限制文件的读写
这样子c盘就没办法读和写了,就像这样
如何绕过
需要支持sql环境的意思是需要url可以执行sql语句
先启用日志记录
把日志记录保存在这
当我们执行这个后门语句的时候,它就会记录在日志里
postgre sql注入
首先,我们先order by
然后让它报错,看他能产生什么
给null分别加单引号,看是否报错,报错的记住是第几个(发现是第二个和第三个)
然后获取数据库用户和数据库名
数据库版本
and 1=2 UNION SELECT null,version(),null,null
and 1=2 UNION SELECT null,current_user,null,null
and 1=2 union select null,current_database(),null,null
找到所有的数据库名(string_agg是表示用逗号分割开)
查找当前数据库的表名
查找列名
查找密码
在高权限用户下也是可以读写的(可以看是否是dba,dba就是最高权限用户)
这个语法来看超级用户
查到的结果是
跟我们之前查的用户是一样的
所以是超级用户,就可以进行文件的读写
sqlserver
一般是asp
同样也是先order by,然后加单引号
查询版本
查数据库的名字
查用户
主机信息
看有哪些表
然后在继续找除这之外的其他表
查列名
通过改这个数字来看表
sqlmap的案例使用(没有,注入点的情况下的注入)
抓包
然后通过报错,看看有没有注入点
这样他就报错了,说明有注入点
这么输入显示了服务器
这么就显示了主机名
sqlmap
先把数据包放到1.txt
然后通过python,来运行脚本sqlmap
这就说明有注入点
列举所以的数据库
然后发现RYPlatformManagerDB数据库在里面
查询数据库中的所以表
查询里面的列名
然后通过这样就可以找到密码
看看是不是高权限用户
说明是高权限的用户
就可以开启交互式命令
就可以得到对方服务器的ip