xss-labs靶场

xss-labs靶场

xss攻击类型

  • 反射型xss
  • 即攻击者将恶意脚本嵌入到url或者表单中,当用户访问特定的url或者提交表单时(用户端请求时),恶意脚本会执行

  • 攻击需要用户点击恶意链接或访问包含恶意参数的url触发

  • 存储型xss
  • 即攻击者将恶意脚本提交到服务器,恶意代码被服务器存储到数据库中

  • 存储型xws会被永久保存,且可被在多个用户访问时反复触发,具有持久性和广泛性

  • 基于DOM的xss
  • DOM 全程为 document object model

  • 可以动态改变原来网站想要插入的链接,将其改成另一个网站

<span style="background-color:var(--code-block-bg-color)"><span style="color:#f5f6f7">   document.getElementById("demo").innerHTML = "http://www.youku.com。";
} <span style="color:#52707b"><!-- 这里比如原来demo所指的地址是http://www.baidu.com ,这里可以将其改成www.youku.com --></span></span></span>
  • 所以这里可以动态修改


简单读懂代码

<span style="background-color:var(--code-block-bg-color)"><span style="color:#f5f6f7"><span style="color:#55b5db"><!DOCTYPE html></span><span style="color:#52707b"><!--STATUS OK--></span><span style="color:#55b5db"><</span><span style="color:#55b5db">html</span><span style="color:#55b5db">></span>
<span style="color:#52707b"><!-- meta是一个HTML元素 用来提供关于文档的信息 例如作者,浏览器该页面的字符编码--></span>  //text/html  这个可以指定文档类型为HTML
<span style="color:#55b5db"><</span><span style="color:#55b5db">head</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">meta</span> <span style="color:#9fca56">http-equiv</span>=<span style="color:#55b5db">"content-type"</span> <span style="color:#9fca56">content</span>=<span style="color:#55b5db">"text/html;charset=utf-8"</span><span style="color:#55b5db">></span>
<span style="color:#52707b"><!--这里定义了一个window.alert的函数 confirm显示之后会直接到达下一个lavel4这个页面 并且显示"try harder"--></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">script</span><span style="color:#55b5db">></span>
<span style="color:#55b5db">window</span>.<span style="color:#a074c4">alert</span> <span style="color:#9fca56">=</span> <span style="color:#e6cd69">function</span>()  
{     
<span style="color:#55b5db">confirm</span>(<span style="color:#55b5db">"完成的不错!"</span>);  
 <span style="color:#55b5db">window</span>.<span style="color:#a074c4">location</span>.<span style="color:#a074c4">href</span><span style="color:#9fca56">=</span><span style="color:#55b5db">"level4.php?keyword=try harder!"</span>; 
}
<span style="color:#55b5db"></</span><span style="color:#55b5db">script</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">title</span><span style="color:#55b5db">></span>欢迎来到level3<span style="color:#55b5db"></</span><span style="color:#55b5db">title</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"></</span><span style="color:#55b5db">head</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">body</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">h1</span> <span style="color:#9fca56">align</span>=<span style="color:#55b5db">center</span><span style="color:#55b5db">></span>欢迎来到level3<span style="color:#55b5db"></</span><span style="color:#55b5db">h1</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">h2</span> <span style="color:#9fca56">align</span>=<span style="color:#55b5db">center</span><span style="color:#55b5db">></span>没有找到和相关的结果.<span style="color:#55b5db"></</span><span style="color:#55b5db">h2</span><span style="color:#55b5db">><</span><span style="color:#55b5db">center</span><span style="color:#55b5db">></span>
<span style="color:#52707b"><!--接下来定义了一个表单form 并且之后用户提交的表单都会被送到lavel3.php中--></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">form</span> <span style="color:#9fca56">action</span>=<span style="color:#55b5db">level3.php</span> <span style="color:#9fca56">method</span>=<span style="color:#55b5db">GET</span><span style="color:#55b5db">></span>  <span style="color:#52707b"><!--这里的get意味着用get方法传递数据,也就是用户提交的数据会附加到url后面作为查询字符(携带数据或参数以便传递给 服务器)--></span>
<span style="color:#52707b"><!-- 用于接收用户输入,这里的value 后面为空字符 意味着用户可以在输入框中输入内容--></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">input</span> <span style="color:#9fca56">name</span>=<span style="color:#55b5db">keyword</span>  <span style="color:#9fca56">value</span>=<span style="color:#55b5db">''</span><span style="color:#55b5db">></span>   
<span style="color:#52707b"><!-- 定义了一个提交按钮 用户点击提交后会发送到action路径中,value值那里会显示搜索这两个词--></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">input</span> <span style="color:#9fca56">type</span>=<span style="color:#55b5db">submit</span> <span style="color:#9fca56">name</span>=<span style="color:#55b5db">submit</span> <span style="color:#9fca56">value</span>=<span style="color:#55b5db">搜索</span> <span style="color:#55b5db">/></span>  
    <span style="color:#52707b"><!-- inm 是单纯的显示出图像,payload 是显示长度--></span>
<span style="color:#55b5db"></</span><span style="color:#55b5db">center</span><span style="color:#55b5db">></span><span style="color:#55b5db"><</span><span style="color:#55b5db">center</span><span style="color:#55b5db">><</span><span style="color:#55b5db">img</span> <span style="color:#9fca56">src</span>=<span style="color:#55b5db">level3.png</span><span style="color:#55b5db">></</span><span style="color:#55b5db">center</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"><</span><span style="color:#55b5db">h3</span> <span style="color:#9fca56">align</span>=<span style="color:#55b5db">center</span><span style="color:#55b5db">></span>payload的长度:0<span style="color:#55b5db"></</span><span style="color:#55b5db">h3</span><span style="color:#55b5db">></</span><span style="color:#55b5db">body</span><span style="color:#55b5db">></span>
<span style="color:#55b5db"></</span><span style="color:#55b5db">html</span><span style="color:#55b5db">></span>
​</span></span>
<span style="background-color:var(--code-block-bg-color)"><span style="color:#f5f6f7">.htmlspecialchars  //..用于过滤特殊字符
&
<
>
''
""</span></span>

lavel 1

发现url输入框中有get形式传参,想从其中找漏洞

漏洞在于其没有对用户输入的东西进行转义,例如特殊字符< > 之类的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值