1.自己搭建
2.注册
账号:19849043362
密码:123456
3.登录
4.漏洞
(1)sql注入
漏洞描述及危害
sql注入是一种将sql代码插入或添加到应用用户的输入参数中,再将这些参数传递给后台的sql服务器加以解析并执行。Sql注入会导致数据库信息泄露,网页被篡改,数据库被恶意操作,服务器被远程控制和被种植木马等多种危害。
发现是主页面,后面加1单引号,报错
此处可以使用报错注入
http://172.168.80.210/1’ or updatexml(1,concat(0x7e,(select database()),0x7e),1) and ‘1’=‘1
修补建议
1.对进入数据库的特殊字符(’"\尖括号&*;等)进行转义处理,或编码转换。
2.严格限制变量类型,数据库中的存储字段必须对应为int型。
3.数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。
4.网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。
5.严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
6.避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
7.在网站发布之前建议使用一些专业的SQL注入检测工具进行检测,及时修补这些SQL注入漏洞。
8.确认PHP配置文件中的magic_quotes_gpc选项保持开启。
(2) 文件上传漏洞
漏洞描述及危害
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力,攻击者可上传恶意文件到webshell服务器上。
漏洞详情
注册后上传头像格式无限制上传后右键图片检查可发现图片路径
上传一个php文件
后访问路径显示php info信息
修补建议
- 使用黑名单过滤
- 使用白名单过滤
- 对上传文件使用文件内容检测
- 检查文件上传路径
- 图片二次渲染
- 文件重命名
(3) sql注入
漏洞描述及危害
sql注入是一种将sql代码插入或添加到应用用户的输入参数中,再将这些参数传递给后台的sql服务器加以解析并执行。Sql注入会导致数据库信息泄露,网页被篡改,数据库被恶意操作,服务器被远程控制和被种植木马等多种危害。
漏洞详情
登录后台,admin,admin 也有上传个人信息的地方
但是通过在前台数据包添加后台参数时,前台的代码并没有对这几个参数进行过滤,触发漏洞:
此处可以使用报错注入
http://172.168.80.210/1’ or updatexml(1,concat(0x7e,(select database()),0x7e),1) and ‘1’='1
修补建议
1.对进入数据库的特殊字符(’"\尖括号&*;等)进行转义处理,或编码转换。
2.严格限制变量类型,数据库中的存储字段必须对应为int型。
3.数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。
4.网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。
5.严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
6.避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
7.在网站发布之前建议使用一些专业的SQL注入检测工具进行检测,及时修补这些SQL注入漏洞。
8.确认PHP配置文件中的magic_quotes_gpc选项保持开启。