XSS-通关小游戏(1-20)

2023-11-14

在玩游戏之前先简单的了解下,什么是XSS?

1.什么是xss

XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

2.xss原理

(1).攻击者对某含有漏洞的服务器发起XSS攻击(注入JS代码)

(2)诱使受害者打开受到攻击的服务器URL(邮件、留言等,此步骤可选项)

(3)受害者在Web浏览器中打开URL,恶意脚本执行。

3.xss类型

 (1)反射性:

        非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。

 (2)存储型:

      持久化,代码是存储在服务器中的,如在个人信息或发表文章以及留言板等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie等

 (3)DOM:

      DOM,全称Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式。DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

这里通过XSS小游戏来进一步的了解XSS:

这里有在线版的:闯关地址:http://test.xss.tv

当然也可以自己搭建,怎么搭建,请自行百度。(建议自行搭建,可以分析源码)

那么,开始吧!

第一关:

0.只要触发alert()函数就能跳转到下一关,其他关卡也是一样的

1、先找输入点

2、再找输出点

那么,我们应该如何输出呢?来分析一波源码:

输出在标签之间,那么直接构造:<script>alert(/xss/)</script>

也可以用其他事件onload,onclick,onerror,prompt,confirm等。例如:<svg/οnlοad=alert(1)>

第二关:

分析源码:

对比查看网页源代码:

我们看到第一个输入点,使用了 htmlspecialchars() 函数,它把预定义的字符转换为 HTML 实体。

预定义的字符是:

  • &:转换为&amp;
  • ":转换为&quot;
  • ':转换为成为 '
  • <:转换为&lt;
  • >:转换为&gt;

例子:

这是比较典型的搜索框XSS,输出点1已经被HTML实体编码了,使用了htmlspecialchars函数。我们可以在输入点2中用事件来弹框:

" onclick=alert(1)>     需要点击一下输入框。(点击事件-JS知识点)

" onmouseover=alert(1)>   需要要鼠标滑过输入框(鼠标事件-JS知识点)

或者:"><script>alert(/xss/)</script>

 

第三关:

分析源码:

<input name=keyword  value='".htmlspecialchars($str)."'>    //可以从这个看到value值也被实体化

而且value是以单引号结束

但是htmlspecialchars默认配置是不过滤单引号。只有设置了:quotestyle,才可以

那么可以用单引号闭合并且不能包含<>则

设置payload
' οnclick='window.alert()

或者:' οnclick=alert(1)%0a    %0a用做换行使得input标签语法正确,主要是因为过滤了“>”。(不是很明白,但能成功)

可以看到闭合成功,并且执行成功

第四关:

分析源码:

与第三关相比:

可以发觉多了两行代码

$str2=str_replace(">","",$str);
$str3=str_replace("<","",$str2);

将输入的内容分别去掉了 <,>

但是输入框没有被实体化,但是' 变为"  

可以用第三关的payload稍作修改:

">οnclick="window.alert() 

或者 " οnclick=alert(1)%0a

 

可以看到闭合成功,并且执行成功

第五关:

分析源码:

可以看到与第四关不同地方

$str = strtolower($_GET["keyword"]);    strtolower()  函数将大写字符串转化为小写
$str2=str_replace("<script","<scr_ipt",$str);      将<script  替换为 ,<scr_ipt
$str3=str_replace("on","o_n",$str2);                 将on替换为,o_n

此处没办法使用on事件了,所以我们不能利用第四关的payload了上面先转化为小写然后替换  所以将<script>大写也无用

此处重新构建payload

"><a href=javascript:alert();>test</a>

可以看到闭合成功,并且执行成功

 

第六关:

分析源码:

相比第五关,src,data,herf也被替换了,最重要的是少了strtolower()函数,而str_replace函数是区分大小写的,所以这一关测试的主要是大小写问题,可以用大小写绕过。

"><a HREF=javascript:alert()>test</a>

"><svg x="" Onclick=alert(1)>

可以看到闭合成功,并且执行成功

SVG教程

第七关:

分析源码:

可以从上面代码看出,它使用了strtolower函数先将大写转化为小写之前方法无用,但是从下面可以看出,它将替换的字符串都都替换为空,那么我们想,如果添加两个呢,他会不会只过滤一个呢,这里需要注意的是必须在字符串中间再添一个,而不是一个后面跟着一个。这就是我们常说的双写绕过。

"><a hrhrefef=javascrscriptipt:alert()>test</a>

"><scrscriptipt>alert()</scrscriptipt>

" oonnclick="window.alert() 

可以看到闭合成功,并且执行成功

方法很多,请自行尝试。

第八关:

分析源码:

没有过滤:'  >  <  %  &  #,过滤了:"  src  on  script  data。输出点在a标签内,href属性中,属性中双引号被转换成HTML实体,无法截断属性,很明显,我们想到了协议绕过javascript:alert,由于script关键字被过滤,伪协议后面可以使用html的实体编码。payload:

(注:javascript:这个伪协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行。)

javascrip&#x74;:alert(1)

javasc&#x72;ipt:alert(1)

javasc&#x0072;ipt:alert(1)

注意:

https://www.qqxiuzi.cn/bianma/zifushiti.php

字符实体是用一个编号写入HTML代码中来代替一个字符,在使用浏览器访问网页时会将这个编号解析还原为字符以供阅读。

这么做的目的主要有两个:
1、解决HTML代码编写中的一些问题。例如需要在网页上显示小于号(<)和大于号(>),由于它们是HTML的预留标签,可能会被误解析。这时就需要将小于号和大于号写成字符实体:
小于号这样写:&lt; 或 &#60;
大于号这样写:&gt; 或 &#62;
前面的写法称为实体名称,后面的写法则是实体编号。ISO-8859-1字符集(西欧语言)中两百多个字符设定了实体名称,而对于其它所有字符都可以用实体编号来代替。
2、网页编码采用了特定语言的编码,却需要显示来自其它语言的字符。例如,网页编码采用了西欧语言ISO-8859-1,却要在网页中显示中文,这时必须将中文字符以实体形式写入HTML代码中。

平时我们见的&nbsp;是html的实体字符,其实在后面 还对应一个实体编码。

有时会在HTML文档中看到形如:

  1. &#8721;
  2. &#x2211;
  3. &sum;

这样的字符序列,其实该序列是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。(PS:至于是不是编码我也弄不清了,没搜到,这是抄别人的)

这三种转义序列都称为character reference(字符引用)

  • 前两种称为numeric character reference (NCR—字符数值引用),数字取值为目标字符的Unicode code point,以&#开头的后接十进制数字,以&#x开头的后接十六进制数字。
  • 最后一种是character entity reference(字符实体引用),后接预先定义的实体名称。

(其实我还发现使用Unicode转为中文,也可把&#x72;转为中文r

第九关:

分析源码:

和上一题一样,只不过多了一个自动检测url,如果发现没有带http:// 内容则会显示不合法, 那么怎么可以既有它,又不让它执行呢?只需填加个注释,(可选择多行注释和单行注释)包含http://就行了,构造payload:(强调一点构造的payload前面不要有空格,否则点击超链接会没有反应

javascri&#x0070;t:alert(1) /*http:// */ 

javascri&#x0070;t:alert(1) //http://

  

可以看到闭合成功,并且执行成功

第十关:

分析源码:

从源代码中,我们了解到只有两个url参数是有效的,分别是keyword和t_sort,且标签input被隐藏了,而我们的渗透点在t_sort参数上,所以我们构造payload:

t_sort=" onclick="alert()" type="text

 

可以看到闭合成功,并且执行成功

第十一关:

分析源码:

根据HTTP_REFERER 参数想到了HTTP头,那么我们可以在请求头进行XSS注入,这一关很显然注入点在Referer,那么我们可以使用burpsuite和火狐插件hackbar,在这一关中直接利用burpsuite抓包修改Referer,这里我用hackbar演示:

123456" οnmοuseοver=alert(1) type="text"

" type="text" οnclick="alert()

 

 

onmouseover是鼠标滑过事件。(注意:对于请求头操作建议使用BurpSuit,hackbar虽然能用,但有时效果并不好,这里我用hackbar是为了方便,但实际过程中,只成功 了几次,大多是无任何反应,可能是插件的原因,所以这里建议使用BurpSuite)

 

可以看到闭合成功,并且执行成功

第十二关:

这里顺便说一下,每个源文件,前面都会有这样的代码:

这是加载下一关的代码。注意一下就好。

我们接着看源码:

根据HTTP_USER_AGENT参数还是想到了HTTP请求头中的user-agent,那么,同理可以按照第十一关的方法来做:

" type="text" οnclick="alert()

123456" οnmοuseοver=alert(1) type="text

(暂不演示)

第十三关 :

分析源码:

看到$_COOKIE变量,自然而然的想到HTTP请求头,所以这题依然按照前面两关的方法来写:

user=" type="text" οnclick="alert(1)

user=123456" οnmοuseοver=alert(1) type="text

(暂不演示)

第十四关:

分析源码:

无法加载网址,这一关主要是:考察EXIF XSS  漏洞原理是通过修改图片的exif信息,造成解析图片exif触发XSS。利用工具推荐exiftool。可参考讲讲EXIF Viewer XSS漏洞的来龙去脉

第十五关:

分析源码:

AngularJS ng-include指令 (AngularJS前端三大框架之一,没学过)

此题用的是文件包含,那么我们可以让它调用一个evil code执行弹窗啊
payload :(htmlspecialchars()函数,把 < 和 > 还有 " 转换为实体,常用于防止浏览器将其用作 HTML 元素。)

网上的方法我都试过都不可以,而且我连最基本的跳转都完成不了,怀疑是不是环境的问题,不知道他们是如何成功的。

src='level1.php?name=<img src=x onerror=alert(1)>'

src='level2.php?keyword=" onclick="alert(123)" "'

 

这里放一张别人成功的图

第十六关:

分析源码:

查看第16关的代码,发现输入的东西经过了大小写的转换并且通过四次的替换检查,分别对script,空格,/,进行了替换,但是有一点很重要,尖括号没有被替换,这给我们留下很大的利用空间。

另外script被替代,我们可以使用img标签,剩下我们就需要考虑如何把空格的影响给去掉,这时候就需要使用编码来进行绕过了,可以选择%0d %0a (表会回车换行)进行绕过,构造出最后的payload

<img%0dsrc=1%0dοnclick="alert(1)">
<img%0asrc=1%0aοnerrοr=alert(1)>

可以看到闭合成功,并且执行成功

第十七题:

分析源码:

分析一下代码,发现输出点都进行了防护,对尖括号以及双引号进行了转义,但是不影响我们利用。<embed>标签定义嵌入的内容,比如插件,所以这里我们可以使用on事件去进行触发,但是首先得用b去闭合前面的等号,

构造payload

arg01=a&arg02=b onmouseover=alert(1)

可以看到闭合成功,并且执行成功

第十八关:

分析源码:

发现和第十七关一样:

第十九关:

分析源码:

这题不仔细看以为会和前两关一样实际上,实际上,难度已经提升了,已经触及到我的知识盲区了,这道题如果按照前面的写法,是无法正常闭合的:

而且他还有htmlspecialchars()函数进行过滤,这一题主要是flash xss,这里给出别人的方法:

(来自:https://www.jianshu.com/p/4e3a517bc4ea

  • flash xss,需要对flash的反编译对源码进行分析,这里使用jpexs-decompiler来分析,首先定位getURL函数

  • 然后追踪到sIFR的内容

  • 得知version参数可以传入loc4变量中,即sIFR的内容中,但是getURL只在内容为link时打开,所以分析contentIsLink函数

  • 所以我们可以构造<a > </a> 标签来传值

arg01=version&arg02=<a href="javascript:alert(1)">123</a>

  • 点击123即可xss

这个我本地测试并没有成功:

不知道为什么别人能成功,好烦!

第二十题:

flash文件好像都打不开

分析源码:

后台源码与十九关一样,这一题也是flash xss,继续搬运别人的博客,莫得办法,不会,还看不懂。。。

本题也属于Flash XSS,将xsf04.swf文件分析得知分析得知是zeroclipboard.swf

arg01=id&arg02=\%22))}catch(e){}if(!self.a)self.a=!alert(1)//%26width%26height

 

总结:

十五关之前没有什么问题,至于后面几关吧,有很多的问题,网上找别人写的要么类似,要么就是别人能正常运行,自己的就不行,这样的问题只能遗留下来了,作为初学者,我们现在要的是思路,这20关了解即可。

补充下一个小知识:(来自:https://www.dazhuanlan.com/2020/03/27/5e7d3fb416604/

上面的游戏都是直接看源代码才发觉到哪里有漏洞,那么肯定问题来了,如果不给源码的情况下该怎样去测试呢?因为在现实渗透中我们需要一个个payload测试是很麻烦的

这里我提供一种比较大众一点的fuzz技巧。利用burpsuit自动化xss

首先我们得在burpsuit的Extender模块中下载对应的XSS Validator插件

安装成功后可以发现菜单栏上会多一栏你插件的名字

这里我们还需要另外一个东西叫PhantomJs,这是下载地址:http://phantomjs.org/download.html,另外我们需要在xssValidator的github上下载一个小脚本(备注,链接好像失效了)

然后把它放在跟Phantomjs同一级目录下即可,然后利用Phantomjs打开即可,此时开始监听

这里我以小游戏第一关为例,现在就可以使用bp抓包发送至爆破模块,然后选择插件模式,选择我们的插件

然后去到该插件的页面复制它的特征码,加载进去字典中

点击attack,攻击成功的话会显示,同时监听也会出现报文的回显

这样去测试就比平常手工测试要便捷多了。

(备注:这东西是要自己尝试的,我也没看太明白,主要是对这个插件不熟悉,好东西就要分享。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSS-通关小游戏(1-20) 的相关文章

  • 5分钟讲解直流线性稳压降压电源基本原理

    怎么把 12 v电变为 5v呢 通过变压器是可以实现的 但是变压器只能转换交流电 那直流电怎么转换呢 我们来看下最简单的降压方式 比如负载是 5欧 那么要得到 5V的压降 按照串联分压原理 需要给它串联一个 7 欧的电阻附加 就能得到 5
  • 【LINUX相关】生成随机数(srand、/dev/random 和 /dev/urandom )

    目录 一 问题背景 二 修改方法 2 1 修改种子 2 2 使用linux中的 dev urandom 生成随机数 三 dev random 和 dev urandom 的原理 3 1 参考连接 3 2 重难点总结 3 2 1 生成随机数的
  • 9*9乘法表

    package practice 99乘法表 public class Test02 public static void main String args for int i 1 i lt 9 i 外层控制行数 for int j 1 j
  • 【查缺补漏】“.“ 和 “->“运算符的区别是什么?

    目录 简介 Note 结语 简介 Hello 非常感谢您阅读海轰的文章 倘若文中有错误的地方 欢迎您指出 昵称 海轰 标签 程序猿 C 选手 学生 简介 因C语言结识编程 随后转入计算机专业 获得过国家奖学金 有幸在竞赛中拿过一些国奖 省奖
  • shell test功能

    test测试功能 对于要测试系统上面某些文件或其相关属性时 可以使用test进行测试 test会根据相关功能返回True或False 测试文件类型test e filename 测试功能 意义 e 该文件是否存在 f 该文件名是否存在且为文
  • SSD1306 - OLED显示屏

    SSD1306 OLED显示屏 芯片介绍 引脚介绍 SSD1306是一款带控制器的用于OLED点阵图形显示系统的单片CMOS OLED PLED驱动器 它由128个SEG 列输出 和64个COM 行输出 组成 该芯片专为共阴极OLED面板设
  • 数据的无量纲化处理和标准化处理的区别是什么

    数据的无量纲化处理和标准化处理的区别是什么 请教 两者除了方法上有所不同外 在其他方面还有什么区别 解答 标准化处理方法是无量纲化处理的一种方法 除此之外 还有相对化处理方法 包括初值比处理 函数化 功效系数 方法 等等 由于标准化处理方法
  • C++11智能指针之unique_ptr

    1 智能指针概念 智能指针是基于RAII机制实现的类 模板 具有指针的行为 重载了operator 与operator gt 操作符 可以 智能 地销毁其所指对象 C 11中有unique ptr shared ptr与weak ptr等智
  • 英语 动词过去式和过去分词的变化规则

    动词过去式和过去分词有规则变化和不规则变化两种 实例顺序 动词原形过去式过去分词 发音 ed在清辅音音素后发音为 t 在浊辅音后发音为 d 在元音后发音也为 d 在 t d 后发音为 id 一 规则变化 1 一般在动词原形后加 ed loo
  • 嵌套查询及其与join的区别

    嵌套即可以写在select子句中 也可以写在from子句中 下面以SQL Entity为例来说明 1 嵌套在select中 以父表为主在select中嵌套子表信息 SELECT c Title ANYELEMENT SELECT oa Fi
  • mysql联合索引最左匹配原则的底层实现原理

    mysql联合索引最左匹配原则的底层实现原理 要看懂 需要熟悉mysql b tree的数据结构 b tree的叶节点和叶子节点的排序特性是按照 从小到大 从左到右的这么一个规则 int直接比大小 uuid比较ASCII码 联合索引的排序规
  • 极简式 Unity 获取 bilibili 直播弹幕、SC、上舰、礼物等 插件

    极简式 Unity 获取 bilibili 直播弹幕 SC 上舰 礼物等 1 声明 下载链接 软件均仅用于学习交流 请勿用于任何商业用途 2 介绍 该项目为Unity实时爬取B站直播弹幕 项目介绍 通过传入B站直播间账号 实现监控B站直播弹
  • java threadlocal 详解_Java中的ThreadLocal深入理解详解

    提到 ThreadLocal是什么 ThreadLocal是一个关于创建线程局部变量的类 通常情况下 我们创建的变量是可以被任何一个线程访问并修改的 而使用ThreadLocal创建的变量只能被当前线程访问 其他线程则无法访问和修改 Glo
  • sha256的python实现

    在 Python 中可以使用 hashlib 库来实现 SHA 256 哈希算法 代码如下 import hashlib defsha256 data sha256 hashlib sha256 sha256 update data enc
  • 为什么printf只能用_cdecl调用约定

    1 什么是调用约定 调用约定 Calling conventions 和type representations 名称修饰 name mangling 同是应用二进制接口 application binary interface ABI 概
  • 分析rocketmq-client产生大量rocketmq_client.log日志文件的原因处理方案

    源码 public static final String CLIENT LOG USESLF4J rocketmq client logUseSlf4j public static final String CLIENT LOG ROOT
  • 05 两层神经网络 - 神经网络和深度学习 [Deep Learning Specialization系列]

    本文是Deep Learning Specialization系列课程的第1课 Neural Networks and Deep Learning 中Shallow Neural Network部分的学习笔记 在前面的章节中 我们以逻辑回归
  • Yolov5改进之更改损失函数(EIOU、SIOU)

    目录 1 修改metrics py文件 2 修改loss py函数 1 修改metrics py文件 找到bbox iou代码段 def bbox iou box1 box2 xywh True GIoU False DIoU False
  • 测试用例----测试大纲法

    一 应用场合 在一个程序中涉及多个窗口 每个窗口有多个操作 窗口和窗口之间有一定的联系 或者说操作之间的联系 为了弄清它们之间的联系 使用测试大纲法 二 使用测试大纲法分析程序 1 列大纲 提纲 分析需求 列出所有的窗口以及每个窗口包含的操

随机推荐

  • MQTT 固定报头 中 剩余长度字段的计算

    剩余长度 简介 位置 固定报头中 从第2个字节开始 剩余长度等于可变报头的长度 10字节 加上有效载荷的长度 剩余长度 Remaining Length 表示当前报文剩余部分的字节数 包括可变报头和负载的数据 剩余长度不包括用于编码剩余长度
  • 什么是区块链----概念

    前言 从2016年年初开始 区块链这个概念越来越热越来越火 有人说他可以颠覆金融行业 也有人觉得这就是个噱头 这个2016火起来的技术其实早在2008年 比特币的诞生就基于区块链 技术火归火 落地的应用却没有那么多 周围的朋友同学都听说过这
  • 搭建Serv-U FTP服务器共享文件外网远程访问「无公网IP」

    文章目录 1 前言 2 本地FTP搭建 2 1 Serv U下载和安装 2 2 Serv U共享网页测试 2 3 Cpolar下载和安装 3 本地FTP发布 3 1 Cpolar云端设置 3 2 Cpolar本地设置 4 公网访问测试 5
  • linux系统通过docker安装oracle远程访问(附带相关问题解决方案)

    文章目录 一 虚拟机网络配置 二 安装docker 三 拉取oracle镜像并配置 四 设置oracle支持外部连接访问 重难点 总结 一 虚拟机网络配置 虚拟机配置的方案 1 桥接模式 虚拟机和主机共用同一个网段 适用于固定网络的开发环境
  • auto refresh

    div user div
  • TCP为什么需要三次握手进行连接,二次或四次不可以吗?

    一 三次握手的作用 为了确认双方具有接收和发送的能力 二 三次握手的原因 1 可以阻止重复历史连接的初始化 主要原因 2 可以同步双方的初始序列号 3 可以避免资源的浪费 三 分析原因 1 为了防止旧的重复连接初始化造成混乱 当客户端发送了
  • 嵌入式软件中如何排查bug?

    明确Bug现象 要准确描述Bug出现的场景 现象 能复现就最好 查看日志信息 嵌入式系统日志可以帮助定位问题 看是否有报错 异常信息 用仿真工具调试 许多嵌入式芯片都有相应的仿真调试工具 可以在仿真环境下单步跟踪 查看变量值等 加打印调试
  • C# DataSet和DataTable:将查询结果保存到DataSet或DataTable中

    在执行对表中数据的查询时还能将数据保存到 DataSet 中 但需要借助 DataAdapter 类来实现 在实际应用中 DataAdapter 与 DataSet 是在查询操作中使用最多的类 此外 还可以通过 DataSet 实现对表中数
  • android pdf框架

    系列文章目录 第一章 android pdf框架 文章目录 系列文章目录 前言 一 主流pdf解析库有哪些 二 对比与使用 1 库对比 2 使用方式 总结 前言 pdf已经使用很普遍了 android上的好用的pdf工具也有不少 个人更经常
  • 倪文迪陪你学蓝桥杯2021寒假每日一题:(2017省赛A第1、2题)

    2021年寒假每日一题 2017 2019年的省赛真题 本文内容由倪文迪 华东理工大学计算机系软件192班 和罗勇军老师提供 文章目录 一 2017年蓝桥杯软件类 C语言大学A组 1 迷宫 2 跳蚱蜢 2 1 建模 2 2 判重 2 3 m
  • 罗技MX Keys从蓝牙连接切换为优联(无线接收器)连接

    不知道什么原因用最近MX Keys蓝牙连接mac怪卡的 按一个键按四五下电脑上才有反应 于是还是想用无线接收器连接来控制电脑 按照壳子上按fn o来切换好像不太管用 于是试了很久 最后用罗技自家的键盘管理软件切换上了 先下一个Logi Op
  • 链表与约瑟夫环 - JavaScript版

    前言 在很多编程语言中 数组需要预先给定一个长度 添加新的元素很难 而且添加 删除等操作也比较烦 需要循环操作 JavaScript提供了push 和splice 等函数来解决这类问题 注意 在js中数组是对象 Object js没有内置链
  • Linux系统调优 之 《OpenStack平台调度策略优化》

    目录 1 规划节点 2 基础准备 案例实施 1 OpenStack平台报错分析 2 解决策略 1 规划节点 根据云平台分配的主机 节点规划见表1 表1 节点规划 IP 主机名 节点 192 168 200 11 controller 控制节
  • delphi ado 动态连接数据库

    unit Unit1 interface uses Windows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs StdCtrls DB ADODB E
  • Contains Duplicate III

    Given an array of integers find out whether there are two distinct indices i and j in the array such that the difference
  • 常用问题网址

    https www leonelngande com fetching the current route fragment in angular 7 RxJS https github com manojjha86 complete an
  • Router-Link详解

  • 文件(或文件夹)的复制(Java)

    将源文件 或目录 复制到另一个目录里 三种方法 1 最普通的方法 主要用File类中的方法和IO流相关的类进行递归复制 2 主要用Files类中的copy 方法递归复制 3 主要用Files类中的copy 方法和walkFileTree 方
  • 构建Buildroot根文件系统(I.MX6ULL)

    Busybox构建的根文件系统只有一些常用的命令和文件 Buildroot不仅集成了 busybox 而且还集成了各种常见的第三方库和软件 开发环境 Buildroot 版本 buildroot 2019 02 6 tar gz 虚拟机 4
  • XSS-通关小游戏(1-20)

    在玩游戏之前先简单的了解下 什么是XSS 1 什么是xss XSS攻击全称跨站脚本攻击 是为不和层叠样式表 Cascading Style Sheets CSS 的缩写混淆 故将跨站脚本攻击缩写为XSS XSS是一种在web应用中的计算机安