美文网首页
PHP代码审计储存XSS形成防御加利用篇

PHP代码审计储存XSS形成防御加利用篇

作者: 池寒 | 来源:发表于2016-08-23 14:07 被阅读260次

来源:http://bbs.ichunqiu.com/thread-10532-1-1.html?from=ch

最近在学习代码审计看了许多教程现在来说说储存型的XSS形成。

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

下面我们来搭建一个本地漏洞平台进行演示。【说明一下代码是暗月某课程里面挖来的不过因为有点老所以有些语句写法不用了,所以找了团队某个牛给改改了】

样式如下,源文件肯定也会发出来给你们自己动手操作的。

[PHP]纯文本查看复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

mysql_connect('localhost','root','root');

mysql_select_db('test');

mysql_query("set names gbk");

if(isset($_POST['submit'])){

$title=$_POST['title'];$con=$_POST['con'];

$sql="INSERT INTO `book` (`id` ,`title` ,`con`)VALUES (NULL , '$title', '$con');";

if(mysql_query($sql))

{echo"留言成功";

}else{

echo"留言失败";

}

}else{

$sql="select * from book";

if($row=mysql_query($sql)){

while($rows=mysql_fetch_array($row)){

echo$rows['id'].$rows['title'].$rows['con']."
";

//echo htmlspecialchars ($rows['id'].$rows['title'].$rows['con']."
");

}

}

}

?>

i春秋储存XSS审计与防御【代码来自暗月后团队大牛改写】

标题:
内容:

下面是mysql的表。

[SQL]纯文本查看复制代码

?

1

2

3

4

5

6CREATETABLE`book` (

`id`int(5)NOTNULLauto_increment, `title`varchar(32)NOTNULL,

`con` textNOTNULL,PRIMARYKEY(`id`)

) ENGINE=MyISAMDEFAULTCHARSET=gbk AUTO_INCREMENT=1 ;

好了我们先看看能不能留言成功!

留言成功,我们让看看我们留言的内容。

下面我们测试一下我们的跨站脚本。我们用HACKbar生成一个payload .

我们插入一下.【嘿别想歪了......】成功留言。

我们返回看一下留言的内容,成功触发了XSS。

下面我们分析他的源代码,原因很常见。

[PHP]纯文本查看复制代码

?

1

2$title=$_POST['title'];

$con=$_POST['con'];

这两处变量参数没有任何过滤导致了下面

[PHP]纯文本查看复制代码

?

1

echo$rows['id'].$rows['title'].$rows['con']."
");

输出语句毫无保留的输出出去了......

心细的同学可能发现了,在这输出语句下面我还注释了一串输出语句。

那个注释的语句是干什么的那?如果各位在写代码时候已经写了很多了又不想翻回去添加过滤的代码

[PHP]纯文本查看复制代码

?

1

htmlspecialchars

函数可以帮助你完美的解决问题。下面我们演示一下,注释上面直接输出语句使用我们过滤语句。

大家看见了咱们的脚本被转义了

[PHP]纯文本查看复制代码

?

1

htmlspecialchars

[PHP]纯文本查看复制代码

?

1

2预定义的字符是:

& (和号) 成为 &" (双引号) 成为 "' (单引号) 成为 '< (小于) 成为 < > (大于) 成为 >

在学习时候我问了zusheng  咱们还可以

[PHP]纯文本查看复制代码

?

1

$cahr= htmlspecialchars(需要转译的字符串);

自定义转义字符来过滤XSS跨站脚本。

拿储存型XSS一半都是获取cookies的我们演示一下如何获取cookies。那我团队私有的xss平台做演示。成功获取。

学习完以后大家记住要把学习感悟发到本文下面哦!!!!!!!】

相关文章

  • PHP代码审计储存XSS形成防御加利用篇

    来源:http://bbs.ichunqiu.com/thread-10532-1-1.html?from=ch ...

  • 21.浅谈前端WEB安全性(二)

    (二)浅谈前端WEB安全性5.XSS防御6.XSS分类及挖掘方法 5.XSS防御 一.概述 攻击者可以利用XSS漏...

  • 攻防世界(进阶)--WEB--10.Web_php_includ

    考察点:php代码审计 1.进入场景 2.代码审计 3.利用strstr()函数大小写的敏感性,进行绕过:?pag...

  • 代码审计

    代码审计工具 1、三款自动化代码审计工具教程2、seay源代码审计系统 PHP核心配置详解 注意PHP各个版本中配...

  • 【代码审计】PHP代码审计

    1. 概述 代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一...

  • 攻防世界(进阶)--WEB--8.Web_php_unseria

    考察点:php代码审计 1.进入场景,得到php代码 2.化简代码,审计 3.写脚本 得到参数:TzorNDoiR...

  • 代码审计——xss漏洞

    XSS漏洞大致分为三种 反射型XSS漏洞 存储型XSS漏洞 基于DOM的XSS漏洞 反射型XSS漏洞 它通过给别人...

  • XSS_1

    简介: 初学xss,xss分为三类。包括反射型,储存型和基于DOM型 一.XSS使用方法 1.简单XSS 所有代码...

  • 安全包开发整体架构

    SSRF防御 SSRF安全漏洞以及防御实现 XSS防御 xss漏洞以及防御实现 CSRF防御 CSRF安全漏洞以及...

  • 理解XSS攻击的原理及防范措施

    web安全-xss的原理及防御 理解XSS的攻击原理和手段 反射型:发出请求时,XSS代码出现在URL中,作为输入...

网友评论

      本文标题:PHP代码审计储存XSS形成防御加利用篇

      本文链接:https://www.haomeiwen.com/subject/ljfnsttx.html