渗透学习-14 - PHP 开发-个人博客项目&输入输出类&留言板&访问 IP&UA 头&来源

搜索功能

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>小迪博客</title>
    <style type="text/css">
        .nav li{
            background-color: yellow;
            padding: 8px 15px;
            float: left;
            list-style: none;
            color:#fff;
        }
    </style>
</head>
<body>
<ul class="nav">
    <li><a href="index.php">网站首页</a></li>
    <li><a href="news.php">文章列表</a></li>
    <li><a href="file.php">文件操作</a></li>
    <li><a href="gbook.php">留言板</a></li>
    <li><a href="tools.php">访问查询</a></li>
</ul>
<br><br><hr>
<form id="form1" action="" method="post">
    <label for="search">内容搜索:</label>
    <input type="search" name="search" id="search">
    <input type="submit" name="submit" id="submit" value="提交">
</form>
<?php
include('config.php');
$s=$_POST['search'];
$sql="select * from sy_guestbook where gName like '%$s%'";
$result=mysqli_query($conn,$sql);
if(! $result){
    printf("Error: %s\n", mysqli_error($conn));
    exit();
}
echo '你搜索的'."'$s'".'结果如下';
while($row=mysqli_fetch_array($result)){
    echo '<br><br><hr>';
    echo $row['id'].'<br>';
    echo $row['gName'].'<br>';
    echo $row['gLogo'].'<br>';
}
?>

在这里插入图片描述

XSS

如果将搜索内容替换为 <script>alert(1)</script> 可以看到弹窗。
在这里插入图片描述
打开 f12 可以看到,输入的变量<script>alert(1)</script> 被直接执行了。说明这里可以执行script脚本,网站显示的内容是用户可控的。
在这里插入图片描述
存储型xss

留言:

<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>
<hr>
<p>&nbsp; </p>
<?php
//留言内容存储在数据库里
//留言板需要加载之前的留言内容
//可以提交留言
//提交留言之后需要

//留言存储在数据库里面
//可以加载之前的留言内容
//可以提交新的留言
//提交留言后会加载出来

header('Content-Type:text/html;charset=utf-8');
include('config.php');
$i=$_POST['id'];
$n=$_POST['name'];
$q=$_POST['qq'];
$c=$_POST['content'];

$sql="INSERT INTO `sy_message` VALUES ('$i', 1, '$n', '$q', '$c', NULL, NULL, '1447433541', '183.92.138.25', '湖北孝感', 0, 'yes');";
mysqli_query($conn,$sql);
$sql1="select * from sy_message";
$result=mysqli_query($conn,$sql1);
while($row=mysqli_fetch_array($result)) {
    echo '<br><br><hr>';
    echo 'ID:' . $row['id'] . '<br>';
    echo '昵称' . $row['name'] . '<br>';
    echo 'qq' . $row['qq'] . '<br>';
    echo '内容' . $row['message'] . '<br>';
}
?>

在这里插入图片描述

存储型xss <script>alert(1)</script>是被保存到数据库里面了的,上面的每次刷新加载留言板,都会显示所有的留言,都会去加载恶意代码<script>alert(1)</script>,每次刷新都会弹窗,他跟反射型不一样,反射型如之前的搜索的例子,只有每次主动去搜索并显示结果时才会产生。理解时主要还是要看代码去理解,看看作用产生机制是怎样的

这个就是输入输出类带来的安全问题, 它允许外部输入值,并且会把值回显输出来展示,评论区 留言区 搜索区 私信区 商品购买填信息区域等等,看到框就可以插入内容试一下。或者是其他的可以抓包修改控制的地方也可以

根据网站的功能决定寻找漏洞思路,理解各种原理。 比如说反查IP ua之类的网站,是不是存在xss漏洞? 抓包修改UA头,服务器接收到信息后返回到浏览器, UA头会回显在网站页面上

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值