XSS跨站脚本攻击以及SQL注入攻击实验报告

XSS跨站脚本攻击以及SQL注入攻击实验报告

XSS跨站脚本攻击

学号/工号查询

输入正确的信息后,我们会得到正确的输出结果。如果输入的名字在数据库中不存在,则无法查询到结果。
XSS跨站脚本攻击以及SQL注入攻击实验报告_第1张图片

XSS跨站脚本攻击

根据判断,我们可以用一段JavaScript语言写的代码“”或者“

SQL注入攻击

学号查询功能的SQL注入攻击

我们先查看一下query.php程序代码
XSS跨站脚本攻击以及SQL注入攻击实验报告_第2张图片
发现其19行,33行,47行查询语句是一样的,形式为

$query=”select id from admins where name=’’’.$name.’’’’’’

其中,$name是用户输入的字符串,如果输入内容为’or’1’=’1’#,那么该SQL语句变成了无条件查询语句。效果如下
XSS跨站脚本攻击以及SQL注入攻击实验报告_第3张图片
造成这样情况的原因在于代码执行条件发生了变化,只要’1’=’1’就可以运行,而我们知道’1’=’1’的值为真,所以成为了无条件查询语句,会把所有结果都输出。此处要注意原代码的单双引号闭合问题。在有了代码后,我们可以针对引号数量不同,改写我们的字符串,但是在实际中,要进行尝试。

用户登录的SQL注入攻击

我们先查看login.php的程序代码
在这里插入图片描述
在第39行其查询用户名和密码的SQL语句为

$query="selsect * from".$t_name."where (id='".$id."')"."and(pass='".$pass."')";

我们是在$id处输入用户名。
当我们输入’or’1’=‘1’); 时,就会显示用户信息。
实现效果如下
XSS跨站脚本攻击以及SQL注入攻击实验报告_第4张图片
XSS跨站脚本攻击以及SQL注入攻击实验报告_第5张图片
此时输入的括号是为了和之前的匹配。

你可能感兴趣的:(网络)