信息安全实训——漏洞利用

实训背景知识

DVWA(Damn Vulnerable Web Application)是randomstorm的一个开源项目。一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。

DVWA共有十个模块,分别是:

1.Brute Force(密码破解)

2.Command Injection(命令行注入)

3.CSRF(跨站请求伪造)

4.File Inclusion(文件包含)

5.File Upload(文件上传)

6.Insecure CAPTCHA (不安全的验证码)

7.SQL Injection(SQL注入)

8.SQL Injection(Blind)(SQL盲注)

9.XSS(Reflected)(反射型跨站脚本)

10.XSS(Stored)(存储型跨站脚本)

实训准备 安装部署phpStudy+DVWA漏洞演练平台

1.安装phpstudy,安装完成后启动phpStudy主界面,当看到 Apache 和 MySQL 文字后面红色的圆点变成绿色时,表示服务启动成功。

2。将DWVA压缩包解压到phpStudy的WWW文件夹中。

3.配置DVWA链接数据库,打开config文件夹,打开config.inc.php,需要把db_password 修改成root,保存(因为前面刚安装好的集成环境默认的MYSQL用户名和密码为root root)。

4.访问http://本机IP/DVWA/index.php,点击创建/重置数据库,点击创建数据库跳转到DVWA的登录界面,DVWA的默认用户名是"admin",密码“password”登录。输入用户名密码登录,登陆成功。如下图

5.在DVWA Security中设置难度为low。

实训任务1 密码登录绕过

1、打开Brute Force界面,测试登陆框是否存在注入,提交敏感字符测试程序是否报错。在登录界面上输入用户名admin’(使用敏感字符‘)。

信息安全实训——漏洞利用_第1张图片

 

2、仔细观察登录系统时地址栏中的sql语句,在用户名密码提交界面上通过注入逻辑语句使登录判断失效,进入受保护页面。

admin' or 1=1 --'信息安全实训——漏洞利用_第2张图片

 

实验任务2 命令注入

1、打开Command Injection界面,在该界面提供一个命令行执行环境,输入ip地址返回ping命令的结果。

信息安全实训——漏洞利用_第3张图片

 

2、window和linux系统都可以用&&在同一行执行多条命令,尝试注入附加命令使目标主机(延时)关机。&&shutdown -s 

-t 60信息安全实训——漏洞利用_第4张图片0  shutdown –a可取消关机计划

 

实验任务3 跨站请求伪造

csrf全称为:Cross-site request forgery,是一种常见的web攻击。在场景中,攻击者会伪造一个请求(通常是一个链接),然后欺骗目标用户点击,用户一旦点击,攻击也就完成了。

1、打开CSRF界面,可在New password和Confirm new password处正常修改登录口令。

信息安全实训——漏洞利用_第5张图片

 

2、构造一个链接:

http://IP/DVWA/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change# (注意以密码修改的实际地址为准)

3、利用在线短链接生成器伪造该链接。

信息安全实训——漏洞利用_第6张图片

 

4、此时可诱骗其他用户点击该链接,通过伪造身份提交密码修改,直接跳转到修改密码成功的页面,成功把密码修改为123。

信息安全实训——漏洞利用_第7张图片

 

实验任务4 文件上传

1、建立一个PHP文件,内容为:

信息安全实训——漏洞利用_第8张图片

 

2、打开File Upload界面,将PHP一句话木马上传。

3、得到木马在服务器上的路径,打开中国菜刀,把上传木马路径添加到工具上。

信息安全实训——漏洞利用_第9张图片

 

4、双击网址进入文件管理。(注:这里可以进行文件管理,数据库管理,虚拟终端或运行自写脚本)

信息安全实训——漏洞利用_第10张图片

 

实验任务5 SQL注入

1、打开SQL Injection界面,该界面的功能是通过输入User ID查询Username。

2、输入1提交,将正常返回查询结果。

信息安全实训——漏洞利用_第11张图片

3、输入1’提交,将返回一个错误。

信息安全实训——漏洞利用_第12张图片

4、猜测使用的sql语句可能是:select First name and Surname from 表名 where id='输入的id'。

信息安全实训——漏洞利用_第13张图片

 

5、输入1' union select 1,database()#提交,得到数据库名称。

信息安全实训——漏洞利用_第14张图片

 

6、输入1' union select 1,table_name from information_schema.tables where table_schema='dvwa'#,得到数据库中的表名。

信息安全实训——漏洞利用_第15张图片

 

7、输入1' union select 1,column_name from information_schema.columns where table_name='users'#,得到users表的列名。

信息安全实训——漏洞利用_第16张图片

 

8、输入1' union select 1,concat(user,password) from users#,得到users表的所有用户名和密码。

信息安全实训——漏洞利用_第17张图片

 

实验任务6跨站攻击

1、打开XSS(DOM)界面,点击Select按钮,修改地址栏中的default属性为,回车后命令被执行。

信息安全实训——漏洞利用_第18张图片

 

2、打开XSS(Reflected)界面,点击Submit,修改地址栏中的name=

3、利用在线短链接生成器伪造该链接,将短链接发送给小伙伴,命令被执行。

信息安全实训——漏洞利用_第19张图片

信息安全实训——漏洞利用_第20张图片

 

 

4、打开XSS(Stored)界面,在message栏中填入

,提交后内容被存入数据库,之后每次进入该页面命令都会被执行。

信息安全实训——漏洞利用_第21张图片

 

你可能感兴趣的:(web安全,安全)