Basic Knowlodge

HTML

一种超文本标记语言,标准通用标记语言下的一个应用。其结构包括头部分(Head)和主体部分(Body),其中头部提供关于网页的信息,主体部分提供网页的具体内容。由HTML各类标签组成。

网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。

各类标签:

  • img插入图片
  • body文档的主体
  • iframe在网页显示网页

    Javascript

    一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

    Javascript弹框操作

    alert():用于提示

    confirm():用于和用户交互确认

    prompt():弹框让用户输入信息

XSS

跨站脚本攻击,一种出现在web应用程序中的计算机安全漏洞。

由于web应用对用户的输入过滤不严而产生。

恶意攻击者通过”HTML注入”篡改网页,插入恶意脚本,从而控制用户浏览器行为的一种攻击方式。

反射型XSS

也称为非持久性、参数型跨站脚本。主要用于将恶意的脚本附加到URL地址的参数中。

一般使用的已经构造好的恶意URL发送给受害者,诱使受害者点击触发,只执行一次。

存储型XSS

比反射型跨站脚本更具威胁,并且可能影响到web服务器的自身安全。

攻击者事先将恶意JavaScript代码上传或存储到漏洞服务器中(例如在网页上输入一些评论(包含恶意代码),就会传送给数据库,只要用户浏览网页,我们就能获得相应信息),只要受害者浏览包含此恶意代码的页面就会执行恶意代码。

绕过XSS限制

在测试的时候,我们可能会遇到我们输入的恶意代码某些字符被过滤掉,不能起到该起的作用,这时候我们就需要绕过这些限制了,主要有四种方法:

  • 如果是alert()之类的括号里的某些单引号被转义了之类的,例如,magic_quotes_gpc=ON 是php中的安全设置,开启后会把一些特殊字符进行轮换,如单引号会被转义为\’,此时我们可以将我们需要输的字符转化为ASCII码或者16进制形式,这时候,我们就能输出我们想要弹出的字符。
  • 转化为ASCII码的方式为:利用String.fromCharCode()函数将括号里的ASCII码值转化为我们想输的字符,注意,这里只是将ASCII码转化为我们需要的字符,并没有执行任何操作,在真正进行的时候,仍需JS的一些函数。
  • 转化为16进制:就是将我们要输入的字符转化为16进制,用法与转化为ASCII码值是一样的。
  • 改变大小写
  • 关闭标签(>)(闭合前面的标签)

    未完待续……