alert

[xss] xss挑战之旅专题

一个人想着一个人 提交于 2020-02-14 08:24:37
网址:http://test.ctf8.com/ level1 通过修改url可以修改页面显示,判断是反射型xss,利用点在url。 payload test . ctf8 . com / level1 . php ? name = < script > alert ( 1 ) ; < / script > level2 输入信息在form的input里面,需要把input标签闭合 payload " / > < script > alert ( 1 ) ; < / script > level3 第1步:把level2的payload贴过来 并没有成功,可以看到输入的信息全部被放在value的双引号中,可能是php给过滤了。 第2步:输入一个1看看 1也自动被双引号括起来了。(到这里我就不会了, 找writeup) 第3步:输入一个单引号,可以把value的双引号闭合。 第4步:加个单引号试试 '<script>alert(1);</script> 这样就可以闭合双引号了,接着闭合input标签就可以执行js代码了。这里利用input标签的属性。 第5步:构造 ' onclick=alert(1) 看样子差不多了,后面在加个注释试试就成功了。 payload 'onclick = alert ( 1 ) // level4 第1步:使用 "onfocus=alert(1)

layer弹出层框架alert与msg详解

孤街醉人 提交于 2020-02-14 04:54:18
ayer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护、不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力。目前, layer已成为国内最多人使用的web弹层组件 , GitHub 自然Stars 3000+ ,官网累计下载量达30w+,大概有20万Web平台正在使用layer。       在贴出代码 1 layer.alert('见到你真的很高兴', {icon: 6}); 这是一个最简单的弹出层,可根据icon配置左边的图标 通常情况下,除了弹窗之外我们一般都会有对按钮做回调处理的一些操作 如图: 1 layer.alert('墨绿风格,点击确认看深蓝', { 2 skin: 'layui-layer-molv' //样式类名 自定义样式 3 ,closeBtn: 1 // 是否显示关闭按钮 4 ,anim: 1 //动画类型 5 ,btn: ['重要','奇葩'] //按钮 6 ,icon: 6 // icon 7 ,yes:function(){ 8 layer.msg('按钮1') 9 } 10 ,btn2:function(){ 11 layer.msg('按钮2') 12 }}); 13 看下效果图1. code: 1 layer.msg('大部分参数都是可以公用的<br>合理搭配

ES6简介

孤街浪徒 提交于 2020-02-14 02:40:23
function fn(){ return 100; } let name='sui'; let age=19; let sui={ name, age, ["pro"+fn()]:"sdfe", play(){ console.log("我会打大鱼") } }; console.log(sui.name) sui.play(); console.log(sui["pro100"]) 对象字面量的输出方式以及定义好处 1.对象字面量的输出方式有两种:传统的‘。’,以及数组方式,只不过用数组方式输出时,方括号里面要用引号括起来,如 var box = { name:’abc’; age:28 }; alert(box[‘name’]); 给对象定义方法, A:如果用传统定义对象的方式,就需要先定义方法,然后再把这个方法名赋值给对象的一个属性,如果要调用这个方法不加括号,就是返回方法代码;如果要调用这个方法该对象属性后面加上括号,就得到方法的返回值 function objrun(){ return ‘123’; } var box = new Object(); box.name=’abc’; box.age = 28; box.run = objrun; alert(box.run()); //结果为123 // alert(box.run); //结果为function

JavaScript 弹窗类的实现

∥☆過路亽.° 提交于 2020-02-13 17:07:18
JS的打印输出是由 doucument.write();实现的 document.write( )内可以书写变量 ,文字 文字需要加""。 JS有两种方式插入到html的页面中 1:<script> 编写JS代码 <script> 这个标签放在<head>和<body>两个标签内部都可以 放在<body>标签可能影响<body>标签内部的html 的内容,可是由于代码执行时自上而下的 如果把JS代码放在<head>内部加载较慢 需要等到JS代码完全加载完毕才可以加载下面的<body>导致页面在JS加载出来之前是空白的 2:编写一个JS文件(例 01JS.js) 通过<script src=01JS.js><script>实现JS代码的引入。 JS的变量是由var关键字来实现的 例: var i=10; 可以定义数字 数组 字符串等 都是由var来声明的 变量要先声明再赋值,JS中函数的声明是由function+函数名来实现的。 function mywin(){ JS代码 } 函数的作用是如果某个操作需要这段代码直接引用函数名就可以实现这段代码了。 alert警告 是个弹出的小窗口 如果不点击确定则无法进行其他操作 如果有两个或者多个alert则按顺序弹出,alert()内可以是数字 变量 文字(加上""),在弹出窗口时显示的就是alert内部的东西。 confirm同样是是弹窗

javascript预编译

点点圈 提交于 2020-02-12 08:14:49
js作为一本脚本语言,可以不经过编译直接运行,但遇到预编译的问题,尤其是变量或函数同名时,这点知识就尤其必要了。 理解预编译首先要弄清楚两种概念:函数声明和变量赋值。 function fun(){ }//函数声明 这种形式的写法是函数声明,即声明一个函数,脚本在执行之前会做预编译处理。 var fun= function(){ }//变量赋值 这种写法是变量赋值,函数在js语言里也是一种数据,匿名函数作为变量赋值给定义的变量。这种形式在预编译处理阶段,只会给变量ledi分配一个内存空间,不会做初始化。初始化过程中会在执行时执行。 <script><script/>也可看做一个函数,那么它执行前同样进行预编译,与执行函数前预编译四部曲步骤差不多,但它没有形参和实参,就少了一些步骤,但也有不同之处,就是它此时创建不是AO对象了,具体如下: 1.创建GO对象(global object)即window; 2.查找全局变量,将变量名作为window的属性,赋值为undefined(注:未声明就赋值的变量,即隐式变量,也是全局变量); 3.在<script><script/>内查找函数声明,函数名作为全局对象的属性,值为函数引用; 当变量名与函数名相同时,AO或GO内只建一个属性名; 预编译: 函数的预编译发生在执行函数之前。 预编译四部曲: 1.创建AO对象; 2.找形参和变量声明

Javascript闭包

扶醉桌前 提交于 2020-02-12 03:51:41
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码    var n=999;   function f1(){     alert(n);   }   f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量。 Js代码    function f1(){     var n=999;   }   alert(n); // error 这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量! Js代码    function f1(){     n=999;   }   f1();   alert(n); // 999 -------------------------------------------------------------------------------------------------------- 二、如何从外部读取局部变量? 出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下

深入理解javascript闭包

为君一笑 提交于 2020-02-12 03:09:45
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码 var n=999;   function f1(){     alert(n);   }   f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量。 Js代码   function f1(){     var n=999;   }   alert(n); // error 这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量! Js代码   function f1(){     n=999;   }   f1();   alert(n); // 999 -------------------------------------------------------------------------------------------------------- 二、如何从外部读取局部变量? 出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的

深入理解JavaScript闭包(closure)

允我心安 提交于 2020-02-12 00:23:23
  最近在网上查阅了不少javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。    一、什么是闭包?   官方的解释是:所谓闭包,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。   相信很少有人能直接看懂这句话,因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包,因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。看下面这段代码: function a(){ var i = 0 ; function b(){   alert( ++ i); } return b; } var c = a(); c();   这段代码有两个特点:   1、函数b嵌套在函数a内部;   2、函数a返回函数b。   引用关系如图:      这样在执行完var c=a()后,变量c实际上是指向了函数b,再执行c()后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包,为什么?因为函数a外的变量c引用了函数a内的函数b,就是说:   当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包。   我猜想你一定还是不理解闭包

js缓慢滑块

橙三吉。 提交于 2020-02-11 16:50:22
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> #div1 {width:100px; height:150px; background:red; position:absolute; right:0; bottom:0;} </style> <script> window.onscroll=function() { var oDiv=document.getElementById('div1'); var scrollTop=document.documentElement.scrollTop||document.body.scrollTop; //alert(document.documentElement.clientHeight); //oDiv.style.top=document.documentElement.clientHeight-oDiv.offsetHeight+scrollTop+'px'; //alert(document.documentElement.clientHeight); //document.title=oDiv.offsetHeight; //alert(oDiv.offsetHeight); //alert(document

flask_sqlalchemy的例子

前提是你 提交于 2020-02-11 06:31:54
例子需要安装 Flask Bootstrap-Flask Flask-SQLAlchemy Flask-WTF 例子代码结构 启动flask run 启动信息如下 \python\python38-32\lib\site-packages\flask_sqlalchemy\__init__.py:834: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant o verhead and will be disabled by default in the future. Set it to True or False to suppress this warning. warnings.warn(FSADeprecationWarning( * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) app.py # -*- coding: utf-8 -*- from flask import Flask, render_template, request, flash, Markup from flask_wtf import FlaskForm from wtforms import StringField, SubmitField