一、DVWA平台
1、打开phpstudy,新建一个网站,端口8080
2、将dvwa文件复制到网站根目录下
3、改config下的config.inc.php.dist文件
4、改文件名
5、创建数据库
6、出现登陆界面
密码admin密码password
7、解决phpstudy搭建好8080网站,能被同一局域网下其他主机访问到
80端口默认可以访问到,但是其他端口并未对外开放
1)打开win10(phpstudy所在主机),搜索“防火墙策略”
2)配置新的入站规则
3)用win2019去访问(同一局域网下其他主机)
二、sql基础复习笔记
1、sql注入的原理
服务端对用户输入的数据未做严格的检测或过滤,导致用户输入的恶意sql命令拼接到正常的sql中成功执行,造成数据的修改和窃取等损失
2、sql注入的本质
用户输入的数被当作代码执行
(违背了“数据与代码分离”的安全原则)
3、sql注入的两个关键
1)用户可控参数
2)传入的恶意sql可以被成功执行
4、sql手工注入的流程
1)寻找是否有注入点--->可能出现sql注入的位置
寻找存在注入的方式:通常是 单引号 测试对比页面回显判断
i.传参角度
(一)GET:url中,涉及url编码
(二)POST:
(三)HEAD:包括cookie、user-agent、x-forwarded-for(ip地址)
ii.业务点:与数据库交互的地方都有可能存在注入
(一)查询处:查询商品/新闻/留言等等
(二)登录处:用户登录
2)确定注入类型以及数据库版本(mysql5.0以上版本有 关键数据库information_schema)
(一)字符型注入:闭合引号(单、双)+小括号判断(几层小括号)
(二)数字型注入:小括号判断,几层小括号的确定
3)确定注入的方式
(一)union注入;包括order by
(二)报错注入:extractvalue和updatexml等函数,利用xpath路径错误报错
(三)盲注:时间盲注sleep函数、布尔盲注
(四)宽字节注入:(这节重点复习一下)
i.魔术引号(php5.4以上删除了魔术引号)
magic_quotes_gpc魔术函数:php5.4以上就没有了!!自动在单引号、双引号、反斜杠、NULL之前加上反斜杠进行转义(转义就是使得该字符例如引号不会闭合sql语句,只是查询的一个正常字符而已,使得引号等字符可以带入数据库查询)