小迪安全笔记-14
发表于更新于
南京
小迪安全笔记-14
Kn1ght第14天:PHP开发-个人博客项目_输入输出类_留言板_访问IP_UA头_来源
知识点
1.PHP-全局变量$_SERVER
2.MYSQL-插入语法INSERT
3.输入输出-XSS&反射&存储
4.安全问题-XSS跨站&CSRF等
搜索框:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <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> <hr> </body> </html>
|
留言板
1 2 3 4 5 6 7 8 9 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
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> 留言: <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> </p> </body> </html>
|
这里只是有一个留言板的功能,并没有处理数据的能力
后端显示留言内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| $i=@$_POST['id'];
$n=@$_POST['name'];
$q=@$_POST['qq'];
$c=@$_POST['content'];
echo $i.$n.$q.$c;
|
显示留言内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| $sql1='select * from sy_message';
$result=mysql_query($sql1,$conn);
while($row=mysql_fetch_array($result)){
echo '<br>';
echo 'ID:'.$row['id'].'<br>';
echo '昵称:'.$row['name'].'<br>';
echo 'QQ:'.$row['qq'].'<br>';
echo '内容:'.$row['message'].'<br>';
}
|
在输入框输入 每刷新一次就会弹窗一次,而小迪打开自己的网站,在自己的网站上的搜索框输入 就不会刷一次弹一次
原因是前者是植入到数据库里面的,存储型xss
接受你的输入,然后把你的输入输出 —–xss
PHP全局变量-$_SERVER
php $_SERVER相关用法:https://www.cnblogs.com/ichenchao/articles/11014247.html
显示浏览器信息:
代码:
1 2 3
| <?php $ua=$_SERVER['HTTP_USER_AGENT']; echo $ua;
|
案例
墨者靶场-来源页伪造
修改referer为 googel.com 就行了,墨者开靶场要墨币,一共也没有几个,就不开了,这类题目之前也没少做
CSRF(跨站点请求伪造)
ip伪造
ip地址可以伪造,但是走底层的话是伪造不了的