第十四天:PHP 开发,输入输出类&留言板&访问 IP&UA 头&来源

1.PHP-全局变量$_SERVER

2.MYSQL-插入语法INSERT

3.输入输出-XSS&反射&存储

4.安全问题-XSS跨站&CSRF

1.输入输出类安全问题

反射性xss

这个先准备一个数据,随便弄一个表名字,在随便弄一点数据存入即可

作为连接的数据库,然后构造搜索框和输出回显

数据库配置文件

定义数据库查询语句,并且输出来

而上面会出书我们搜索的3的这个回显,如果我们插入js的代码,js就是前端html的代码,在代码输出的时候就会当作Jscript代码去执行

输入<script>alert(1)</script>

就会造成弹窗,这个可以盗取cookie和结合工具进行钓鱼,

存储型xss

先写html1的留言表单

<head>
    <meta charset="UTF-8">
    <title>留言板</title>
</head>
<hr>留言板<hr>

<form id="form1" name="form1" method="post">
    <p>
        <label for="textfield">ID:</label>
        <input type="text" name="id" id="textfield">//
    </p>
    <p>
        <label for="textfield2">昵称:</label>
        <input type="text" name="name" id="textfield2">
    </p>
    <p>
        <label for="textfield3">QQ:</label>
        <input type="text" name="qq" id="textfield3">
    </p>
    <p>
        <label for="textarea">内容:</label>
        <textarea name="content" id="content"></textarea>
    </p>
    <p>
        <input type="submit" name="submit" id="submit" value="提交">
    </p>
</form>
<p>
<hr>
<p>留言内容;</p>
</html>

然后构造一个存储数据的数据库

<?php
include('config/data.php');
$i=$_POST['id'];
$n=$_POST['name'];
$q=$_POST['qq'];
$c=$_POST['content'];
//INSERT INTO `lyb` VALUES (1, 176, 485, 'zI6V87Q1ki', 'UjScLrVEDL', '6UNgmHCNfe', 'admin');
$sql="INSERT INTO `lyb` VALUES ('$i', '804', '$q', '$n', '$c', 'admin');";

mysql_query($sql,$data);
echo $i.$n.$q.$c;

这里要注意主键不能重复,不然就不能写入文件,我数据库的主键是id是1

能正常写入数据

之后在写一个存储函数的输出

上面函数每次都会执行,因为数据库没有设置为空约束,所以空数据也会添加上去,所以加一个判断条件,数据不为空的时候在执行

if(empty($i)){
    $sql="INSERT INTO `lyb` VALUES ('$i', '804', '$q', '$n', '$c', 'admin');";
    mysql_query($sql,$data);
}
//INSERT INTO `lyb` VALUES (1, 176, 485, 'zI6V87Q1ki', 'UjScLrVEDL', '6UNgmHCNfe', 'admin');

$sqlc="select * from lyb";
mysql_query($sqlc,$data);
$result=mysql_query($sqlc,$data); //执行的结果赋值给变量
while($row=mysql_fetch_array($result)){ //循环,括号内是条件,row定义数组
    echo 'id:'.$row['flag'].'<br>'; //输出关联数组内容
    echo 'qq:'.$row['name'].'<br>';
    echo 'name:'.$row['id'].'<br>';
    echo 'content:'.$row['id'].'<br>';
}

这种就会造成存储型xss

我们把内容换成js语句

<script>alert(1)</script>

没访问一次,都会谈一次窗

这种存储型xss就会把攻击语句存储到了对面的数据库,而每次访问这个网站,都会把存储到数据库的攻击语句都会被查询出来,调用执行

输入输出类

只要是可以输入,并且展示出来的地方都可能存在,留言板,评论区,聊天框,私信等等

深入探讨xss

而有一些网站会接受并且显示我们的ip浏览器信息等等

比如站长之家

而这个浏览器信息我们就可以抓包,修改成xss的语句,实现弹窗,但是这个已经被修复了,把xss语句过滤掉了

就这样只要显示在网站界面我们可以控制的都可以尝试xss漏洞

referer伪造

这个比如一些登录框,点击它之后登录成功获取到的referer是登录网站的,而我们直接访问referer就是我们的浏览器,有一些就会严重referer来源,比如是他的网站跳转过来的才可以

ping

an

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值