实 验 报 告
一、 实验室名称:
2 号教学楼 107
二、 实验项目名称:
REGXP 正则匹配
三、 实验学时:
2 课时
四、 实验原理:
1)Limit 0,1
从第 0 个开始取第一个
2)正则匹配过程:
^[a-z] ==>
^a[a-z] ==>
^ad[a-z] ==>
^admin$
首先测试表名以 a-z 开头,依次注入出第二、三...个
字母 最终得到表名 执行 以 a 开头 n 结尾 确认是否表名正
确。
五、 实验目的:
SQL 注入------ REGXP 正则匹配
六、 实验内容:
将恶意的 SQL 命令插入到输入域名或页面请求的查询字符串注
入到后台数据库,输入恶意 SQL 语句得到一个存在安全漏洞的网站上
的数据库,而不是按照设计者意图去执行 SQL 语句。
七、 实验器材(设备、虚拟机名称):
Windows 2008 + phpstudy(php5.3)
八、 实验步骤:
1. 打开浏览器输入 http://192.168.1.3/sqli-labs-master/Less-5/?id=1 回车。
2. 打开网页源码,查看源码发现对参数$id 只做了单引处理。我
们在$sql 语句下面添加下列代码:
echo ”
------------------”;
echo $sql;
echo ”
------------------”;
以方便观察 MySQL 语句的执行。
3. 刷新页面,发现语句在执行时,对参数$id 加了单引(这里是通过
代码得出参数处理方式,现实中没有源码,只能通过报错信息以及自
己所拥有的经验判断)。
4. 根据提示,需要闭合前面单引并处理后面的单引,这里可以通过
闭合(’or’1’=’1)或者注释(’or 1=1 --+)的方法处理后面的
语句。本次采用注释方法。
5. 根据 mysql 数据库(账号:root,密码:root),可知当前数据库名
为 security,共有 5 个表。
6.构造新的语句,页面返回正确,说明存在。
7.当猜测的表名不存在时,页面无输出。
8.猜测表的全名,页面返回正确,说明存在 emils 表。
九、 实验结果及分析:
若猜测表的全名,页面返回正确,若猜测的表名不存在时,页
面无输出。SQL 注入----- REGXP 正则匹配存在随机性。这是一种试探
性的漏洞攻击手段
十、 实验结论:
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规
则的字符串的需要。正则表达式就是用于描述这些规则的工具和记录
文本规则的代码。
十一、 总结及心得体会:
在制作网站时,首先都会让用户填获取注册用户的各种信
息。因为用户有可能输入各式各样的,而有些不符合要求的数据
会给我们的后端 ASP 处理程序带来不必要的,甚至导致网站出现
一些安全问题。因此我们在将这些信息保存到网前,要对这些用
户所输入的信息进行数据的合法性校验,以便以安全顺利的执
行。所以我们一般会在后端编写一个 ASP 的析用户输入的数据是
否是合法的。
一、 实验项目名称:
基于时间的判断
二、 实验原理:
1)关键词:if(),sleep()
2)If(判断条件 ,为 TRUE 是执行,为 false 时执行)
Sleep(*) 睡眠,单位秒
三、 实验目的:
SQL 注入------ 基于时间的判断
四、 实验器材(设备、虚拟机名称):
Windows 2008 + phpstudy(php5.3)
五、 实验步骤:
1. 打开浏览器输入 http://192.168.1.3/sqli-labs-master/Less-1/?id=1 并
回车。
2. 打开源码,发现对参数$id 做了处理,其格式为‘$id’。