使用WampServer和DVWA在Windows10上搭建渗透测试环境

作者:荒原之梦

前言:

DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持。我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建。WampServer是集成了Apache Web服务器、PHP解释器和MySQL数据库的集成安装环境。本文将介绍使用WampServer和DVWA在Win10上搭建一个渗透测试环境。

操作环境:

Windows10专业版

操作前的准备:

1.下载WampServer(下载地址:https://sourceforge.net/projects/wampserver/?source=directory

2.下载:DVWA(下载地址:http://www.dvwa.co.uk/

一、安装WampServer:

这里我们使用的是WampServer3.1.0 X64.

图 1 这一步选择安装时使用的语言,默认用英语就好了。

图 2 接受协议,下一步。

图 3 继续下一步。

图 4 选择安装路径,建议选择一个非系统盘。

图 5 下一步。

图 6 点击“Install”开始安装。

图 7 安装正在进行中……

图 8 提示让选择默认浏览器。

图 9 选择“是”之后,使用默认,点击“打开”。

图 10 提示让选择默认文本编辑器。

图 11 选择“是”之后,使用默认,点击“打开”

注:在安装快要结束时会弹出防火墙警示,选择“允许访问”即可。

图 12 Finish

安装完成后会在桌面上创建一个WampServer的图标(我们可以在小图标上右键选择语言为中文),双击该图标后Windows会黑屏警示,选择“是”之后,任务栏小图标处会多出一个WampServer的绿色图标,在浏览器输入“127.0.0.1”就会显示WapServer的界面了(如下图所示)。

图 13

 

二、配置MySQL数据库

安装WampServer的过程中并没有让我们设置数据库账号和密码的步骤,所以此时我们的数据库的root密码还是空的

输入“127.0.0.1/phpmyadmin”进入登录界面:

图 14

用户名root,密码不填,选择服务器为MySQL即可登录MySQL数据库。

接下来我们就要修改MySQL数据库的root密码了,我们在后面配置DVWA的过程中需要用到数据库root用户的密码。

图 15

点击“账户”,我们能看到root用户的密码是空的,点击“修改权限”可以在页面上方看到修改密码的选项,如下图:

图 16

两次输入密码后点击“执行”就可以了:

图 17

图 18

但是当我们再次输入http://127.0.0.1/phpmyadmin/准备登陆MySQL时,却出现了下面的警示:

图 19

这是因为phpmyadmin数据库里面的登录信息还是原来的(而我们以已经在MySQL里修改了root密码),和我们现在使用的root用户的密码不一致。我们使用修改后的密码登陆一下,发现可以登陆,然后再退出,再次输入http://127.0.0.1/phpmyadmin/发现已经没有错误提示了,此时phpmyadmin的数据库登录信息已经更新了。

图 20

三、配置DVWA

首先把我们下载好的DVWA压缩包放到WampServer安装目录里的www文件夹下,解压。(解压后会产生同名的嵌套文件夹,最好去掉一层),将DVWA所在文件夹的名称修改为“dvwa”,将wamp64\www\dvwa\config目录下的config.inc.php.dist文件后面的.disk后缀删除。

图 21 将图中的DVWA-master改成dvwa

 

之后打开DVWA文件夹中的config文件夹,用Sublime Text3(或其他记事本软件)打开config.inc.php:

图 22 图中的.dist后缀还没有去掉,也可以先修改后去掉.dist后缀

 

修改其中的数据库密码为我们刚才创建的MySQL数据库的root密码,保存:

图 23

在浏览器输入127.0.0.1/dvwa,输入admin账号和密码,密码默认为password,之后点击“Create / Reset Datebase”即可安装DVWA,安装完成后会自动跳转到登录界面,再次输入admin和password即可登陆,至此渗透测试环境搭建完成:

图 24

 

Kali Linux 启用并配置 ssh 服务

操作环境:

虚拟机操作系统:Kali Linux 2017.2

虚拟化软件:VMware Workstation 14 pro

虚拟机网络连接方式:桥接模式

物理机操作系统:Windows10 专业版

ssh工具:Xshell 5

操作步骤:

查看本机IP地址等网络相关信息:

开启ssh服务,该命令正常情况下没有回显:

查看ssh服务是否正常开启,如果正常开启,则此时有“active (running)”的提示。

用leafpad打开sshd_config:

将:

改成:

注意:不仅要去掉注释,还要将原来的 PermitRootLogin prohibit-password 修改成 PermitRootLogin yes ,否则root用户无法远程登陆,使用root用户登陆时会被提示:“SSH服务器拒绝了密码。请再试一次。”

重启ssh服务:

用Xshell输入Kali的IP,用户名为root,密码为root密码,端口号为22,成功登陆。

但是这样配置好之后,每次重新启动Kali后ssh服务都是默认关闭的,需手动开启,我们可以使用如下方法设置ssh服务的开机自启动:
将ssh服务设置成开机自启动:

关闭ssh服务的开机自启动:

 

补充

如果目标系统中没有安装 SSH 服务,可以使用如下命令安装:

 

如果目标系统中安装并启动了 SSH 服务,但是在客户机上仍然无法通过 SSH 连接,则可能是对应的 SSH 服务对应的 22 号端口没有开放。

请告诉我,你还在

作者:荒原之梦

“要想晚上回家的时候好好练字,先要有一个亮的灯泡,我家的现在都是35瓦的,不能太暗了……”

这是小学时语文老师跟我们说怎么才能练好字的时候说过的话(大致意思是这样的)。可是,那个时候我们家的电灯泡是15瓦的,虽然现在的LED灯用15瓦的功率已经可以做的很亮了,可如果是白炽灯的话,这个功率只能是比点一根蜡烛亮一点。

今天,我拿起毛笔,用繁体中文写下了《长歌行》里的一句诗:

“青青园中葵,朝露待日晞”。

当我只见过15瓦的灯泡时,我不知道35瓦的是什么样,当我只知道“朝露待日晞”时,我无法想象还会其他的生活方式。日子就是这样变了,悄无声息,坚定不移。

我记得,那盏15瓦的灯泡从卧室换到厨房,前后一共亮了很多年。昏黄的,可以直接看到橘色的灯丝。很多年来,它就那样一直挂在屋顶,渐渐地布满了灰尘——似乎从一开始就布满了灰尘。那真的是一盏有温度的灯啊,承载着多少个日日夜夜的风晴雨雪,聆听过多少首“百川东到海,何时复西归”的诗句呀。

每到睡前,拉上开关,看着它渐渐地收缩起布满整个屋子的光线,那是比“晚安”更真实可爱的香甜。

很多年过去了,写字的人又坐在了灯下——

“松下问童子,言师采药去。
只在此山中,云深不知处。”

那一撇一捺,仍然是一撇一捺,只是这横竖之间总是见不到当年的气息了。在那个上早读还要自己带蜡烛的小学里,古诗是那么有味道啊,是凌晨的鸡鸣,还有早读之后回家吃到的炒白菜的味道。

那年,我想用一支秃笔写尽山河壮阔,那年,我想凭一己之力成为一座山峰。

今天,我仍然想。

想那些痴傻痴傻的梦,那个在最灰头土脸的时候仍然固执己见的天涯浪子,那才是我啊,活在某个平行的宇宙。

但是,谁能证明你真的经历过你记忆里的过去?那些凉凉的露水,毛茸茸的虫子,那盏15瓦的灯泡,那一次一次飞驰在夜里自翊为宇宙之王的时刻,他们在哪里?只是在记忆里吧,如果他们只是记忆——

这是一个无法得证的命题,所有人的上一秒都只剩下了记忆,所有人的记忆都不能自证真实,更无法佐证他人。

世界上哪些事才是有价值呢?就像我们在做一件事前总是会被问到:“你做这有什么用?”,这样的问题真的很有难度,因为价值本身只是一个定义,不巧的是,每个人心里对价值的定义和衡量方法并不一致。

有些事情,当你沉浸其中,自得其乐时,别人是很难理解你的快乐的,就像我记忆里的那盏15瓦的灯泡,即使布满了灰尘,却仍然在我心中树立起了一道直通天际的光,那是从梦想到梦想的胜利。

“朝辞白帝彩云间,千里江陵一日还。
两岸猿声啼不住,轻舟已过万重山。”

千百年过去了,当这些诗句第一次坠落在笔端时,真不知它们会以怎样的好奇心看待这个世界。一词一句,被传诵了无数遍,每当我们再一次提笔重新誊写这些诗句时,那随着笔毫浸润到纸上的墨汁里也许都暗藏着一个不为人知的新生。

人生最伟大的作为就是让人们记住自己的贡献,然而这个世界终究会忘记一切。一盏灯的光亮终究会被吞噬,一个价值的定义终究会被改写,当我们想创造永恒时,永恒却已被永恒替代。

DOS系统常用命令

作者:荒原之梦

前言:

DOS命令是DOS操作系统使用的命令。DOS操作系统是一种磁盘操作系统,从Windows95、98到今天的Windows10都内置有DOS操作系统。可以通过“win+R”,输入“cmd”的方式进入DOS系统命令行模拟操作界面。虽然图形化界面在日常使用中可以提供更加友好的人机交互体验,但是在有些时候,特别是当我们需要计算机执行一些较为专业的任务时,命令行模式将更加方便快捷。本文将介绍一些常用的DOS命令和简单用法,关于一些命令的具体参数,可以在需要时使用“命令名称 /?”或“命令名称 -?”查看对应命令的帮助文档。本文将保持更新。

1.cd命令(用于改变命令提示符所在的目录

D:
切换到D盘。
cd..
退回上一级。
cd Test
进入当前路径下名为“Test”的文件夹。(如果我们需要一次进入多层目录,最好使用绝对路径,如果路径比较长,我们可以在文件资源管理器中复制对应的路径后粘贴在cd的后面,注意DOS窗口不支持快捷键粘贴。另外,DOS命令也支持Tab键自动补全命令。)

2.cls命令(用于清空屏幕内容

cls只会清空屏幕内容,并不会删除最近使用的命令的记录,我们仍然可以使用上下方向键查看我们刚才使用过的命令。

3.dir命令(用于查看磁盘中包含的文件

dir D:\Test
列出绝对路径D:/Test下的所有目录和文件。
在过去的操作系统中,使用“dir D:\Test”显示文件的一个缺点就是当Test中的目录及文件过多时就会发生无法完全显示的情况,但是在新版本的windows上已经不存在不可以翻页的问题了,因为Windows上的DOS窗口是模拟的,已经加入了滚动条。
dir/a:a
查看当前路径下的存档文件即只列举文件而不列举其他。(注意dir和/之间是可以没有空格的,有没有空格都能执行得到正确结果)。其中“/a:”表示文件属性,隐藏文件的属性为“h”,目录文件的属性为“d”,系统文件的属性为“s”,只读文件的属性为“r”。
dir/o:n
按字母顺序列出当前路径下的所有目录和文件。其中“/o:”参数代表排序方式,“n”即代表按照文件名的字母顺序排列;“e”代表按照文件扩展名的字母顺序来显示其中包含的文件或文件夹。
dir /b /s
去掉摘要信息并顶格显示当前路径下的所有文件(包括嵌套文件)的完整路径和文件名称。
dir *.txt
dir命令也可以用于模糊查询,比如“dir *.txt”命令就可以用于查找当前路径下所有后缀名为.txt的文件,但是dir只能模糊查找当前目录下的文件,如果当前路径下有嵌套文件夹,那么这些文件夹里的*.txt文件并不会被查找出来。

4.ping命令(因特网包探索器)命令(用于查看网络是否连接或者网络连接速度。

ping [domain name]
可以用来判断是否能连通该域名对应主机并帮助判断该域名对应主机的操作系统类型。ping命令能够显示TTL值,而运行不同操作系统的主机设置的TTL值是不同的,一般地,TTL值对应的操作系统如下:
128:WindowsXP/2003
64:Linux
255:Unix
但是用TTL值判断目标主机运行的操作系统类型并不准确,TTL值真正的作用是用于指定IP包被路由器丢弃前允许通过的最大网段数量。TTL值其实是可以更改的,只要不大于十进制255就可以,而且网络管理员一般都会修改操作系统默认的TTL值,这能够在一定程度上防止别人轻易知道自己主机上运行的系统类型。
 ping [domain name] -t -l 65500
向指定domain name的主机连续发送长度位65500Byte(默认是64Byte,最大长度为65500Byte)的数据,直到连接中断。
 需要注意的是网络中有些主机是ping不通的(比如一般情况下用外网ping校园网内的主机是ping不通的,但是用校园网ping校园内的主机是可以ping通的),因为这些主机禁用了ICMP(Internet控制报文协议)回应或者可能开启了ICMP过滤,这样做可以避免有人向目标主机发动“ICMP攻击”(长时间、连续和大量的向目标主机发送ICMP数据包),导致目标主机消耗大量的系统资源来处理这些数据包,进而导致系统瘫痪。同时,由于ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机,因此限制ICMP的功能也能够让主机在互联网中更加安全。
ping 127.0.0.1
127.0.0.1是本地回环地址,ping 127.0.0.1如果能够ping通则表明本地TCP/IP协议没有问题。
注:ping命令后面可以跟很多参数,具体用法可以在DOS窗口输入“ping /?”查看。

5.netstat 命令(用于监控TCP/IP网络的工具,可以统计并显示与IP、TCP、UDP、ICMP相关的统计信息,可以显示路由表、实际的网络连接和每个网络接口设备的状态信息,因此可以用于检验本机各端口的网络连接情况。

netstat -n (or netstat)
查看服务器活动的TCP/IP连接,即所有已经建立的有效连接。
netstat -r
查看本机路由信息
netstat -a
显示本机所有活动的TCP连接及计算机侦听的TCP和UDP端口,包括已建立的连接、监听连接请求的连接、已断开的连接和处于联机等待状态的连接等。
netstat -an
显示本机所有连接的端口及其状态。
netstat -e
显示关于以太网的统计数据(一些基本的网络流量),包括发送和接收的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量等。
注:关于netstat命令的更多用法可以在DOS窗口输入“netstat /?”查看。

6.ipconfig命令(显示本机网络适配器的IP地址、子网掩码和默认网关等信息,包括虚拟机的相关信息

ipconfig /all
这个命令比单独输入ipconfig返回的信息更加详细。可以查看所有适配器的IP地址、子网掩码和默认网关,以及主机的祥光配置信息,例如:主机名、DNS服务器、结点类型、网络适配器的物理地址、DHCP服务器信息等。
注:ipconfig还有一些其他参数,可以需要时使用“ipconfig /?”查询。

7.tracert命令(显示数据包到达目标主机所经过的路径并显示到达每个结点的时间

tracert的命令格式为:
tracert [-d] [-h MaximumHops] [-j Hostlist] [-w Timeout] [-R][-S srcaddr][-4][-6][TargetName]
上述各个参数代表的意义如下:
-d 不将地址解析目标主机的名字,可以加快tracert命令的执行。
-h MaximumHops 指定搜索到目标地址的最大跳跃步数,默认为30个跳跃点。
-j Hostlist 按照主机列表中的地址释放源路由(仅适用于IPv4协议)。
-w Timeout 指定等待每个回复的超时时间,默认单位为毫秒。
-R 跟踪往返行程的路径(仅适用于IPv6协议)。
-S srcaddr 指定要使用的源地址(仅适用于IPv6协议)。
[-4][-6] 自定义使用IPv4或Iv6协议。
TargetName 指定目标主机的名称或IP地址。

 8.nslookup命令(用于检测网络中的DNS服务器是否能正确实现域名,该命令可以用于查看IP地址对应的域名

nslookup [IP or damain name]

9.at命令(该命令可以使指定的命令或程序在指定的计算和指定的时间运行,在IPC入侵时可以使用该命令来设置计划任务,让指定的程序在指定的计算机中按指定的时间启动。at命令可以代替Windows中的“计划任务”。)

at 11:00 c:\text.exe
让C盘根目录里的text.exe程序在11点00分运行
at 11:00 /every:16,17 c:/text.exe
在每月的16号和17号的11点00分运行text.exe程序
at
查看刚添加的计划任务的详细信息
at 16:16 shutdown -s -T30
在16点16弹出“系统关机提示框”,并关机。
另外,at命令还可以指定一周内的某一天火某几天:
date用于指定一星期内的一天或多天,分别用M T W Th F S Su表示。

Kali Linux图形界面与命令行界面的切换

作者:荒原之梦

前言:

有时候为了节约系统资源,使用命令行界面能够让Linux系统的运行更加流畅,处理任务的速度也更加快。现在的Kali安装完成后默认是开机就启动图形化界面。本文将介绍通过编辑Kali启动引导文件的方法,使得我们可以在Kali的图形化界面和命令行界面之间切换。

操作环境:

虚拟化软件:VMware Workstation 14 pro

虚拟机操作系统:Debian 4.12.6-1 kali6(201702版Kali Linux,安装在VMware Workstation 14 pro中

物理机操作系统:Windows10专业版

一、用vi编辑器打开引导配置文件:vi /etc/default/grub

找到“GRUB_CMDLINE_LINUX_DEFAULT=”quiet””这一行,将光标停在这一行的某处,使用yy复制当前行正行内容到剪贴板,之后回车创建一个空白行,使用p将刚才复制的内容粘贴在当前光标之后,然后注释掉该行(方便以后如果有需要的话再改回来),最后按i在写入模式下把原行中的“quiet”改成“text”,保存退出。

二、输入sudo update-grub更新Kali Linux的启动引导,使我们刚才修改的grub配置生效

切换方法:

按“Ctrl+Alt+f3”(笔记本一般是按“Ctrl+Alt+fn+f3”)即可切换到命令行模式;

按“Ctrl+Alt+f1” (笔记本一般是按“Ctrl+Alt+fn+f1”)可以切换回图形化界面(如果无法切换,请尝试重启)。

 

SQLMap入门之在Windows上安装SQLMap

作者:荒原之梦

前言:

SQLMap是一个开放源代码的sql注入工具,SQLMap是使用Python语言开发成的,他的运行需要有Python环境的支持。写这篇文章时我使用的SQLMap版本是“sqlmap-1.1.10”,这个版本的SQLMap还不支持Python3.x,必须使用Python2.x的环境才能运行,Python2.x和Python3.x并不互相兼容。本文主要介绍在已搭建Python2.x环境的前提下,安装SQLMap的步骤。

操作环境:

Python-2.7.14

SQLMap-1.1.10

Windows10专业版

一、将SQLMap的压缩包放到Python2.x的安装目录下,解压:

图 1

二、桌面右键,新建快捷方式

对象位置填写“cmd”:

图 2

快捷方式名称命名为SQLMap:

图 3

在快捷方式上右键属性,将“起始位置”改为刚才放置SQLMap安装包路径的下一级路径,如图所示:

图 4

三、双击打开刚才创建的快捷方式

输入sqlmap.py -h,如果出现以下界面则表示SQLMap安装成功:

图 5

附:

如果我们把SQLMap安装在了Python3.x的环境中会发生什么呢?当我们输入sqlmap.py -h时,他会提示我们使用Python2.x:

图 6

如果你想同时使用Python2.x和Python3.x可以参考我的这篇博文:

在Windows下同时安装Python2.x和Python3.x

在Windows下同时安装Python2.x和Python3.x