SQL注入
一、SELECT注入登录
进入SEEDLAB Ubuntu 16.04 在浏览器输入以下网址并进入(http://www.seedlabsqlinjection.com/)也可以在火狐浏览器的书签中找到

这是一个登陆界面,我们需要通过注入的方式登录到该管理系统中去。
注入方式如下在Username栏输入admin'# 对于用户密码而言因为'#特殊字符导致后方sql语句被注释掉,所以只要找到admin用户即可登陆成功不需要判定密码

具体原理如下:
查看 /var/www/SQLInjection/unsafe_home.php 中的关键SQL语句

问题出在:用户输入的用户名 $input_uname 直接被拼接到SQL语句中,没有经过任何过滤或参数化处理。
// create a connection$conn = getDB();// Sql query to authenticate the user$sql = "SELECT id, name, eid, salary, birth, ssn, phoneNumber, address, email,nickname,PasswordFROM credentialWHERE name= '$input_uname' and Password='$hashed_pwd'";if (!$result = $conn->query($sql)) {echo "</div>";echo "</nav>";echo "<div class='container text-center'>";die('There was an error running the query [' . $conn->error . ']\n');echo "</div>";}
最终拼接成的SQL语句变成了:
SELECT ... WHERE name= 'admin'#' AND Password='...'
登陆成功后的界面如下图所示可以看到详细的员工信息

由于该登录SQL注入的存在我们可以登录以下所有的账户(所有账户首字母均小写)
以下我们使用alice的账户来进行测试,使用同样的方法登录alice的账户


二、UPDATE 更改信息
其个人信息编辑界面如下所示:

我们查看他的源码/var/www/SQLInjection/unsafe_edit_frontend.php
$conn = getDB();// Don't do this, this is not safe against SQL injection attack$sql="";if($input_pwd!=''){// In case password field is not empty.$hashed_pwd = sha1($input_pwd);//Update the password stored in the session.$_SESSION['pwd']=$hashed_pwd;$sql = "UPDATE credential SET nickname='$input_nickname',email='$input_email',address='$input_address',Password='$hashed_pwd',PhoneNumber='$input_phonenumber' where ID=$id;";}else{// if passowrd field is empty.$sql = "UPDATE credential SET nickname='$input_nickname',email='$input_email',address='$input_address',PhoneNumber='$input_phonenumber' where ID=$id;";}$conn->query($sql);$conn->close();header("Location: unsafe_home.php");exit();
该源码依旧是直接将用户输入拼接在sql语句中并没有做过滤因此存在着注入的漏洞,
所以我们可以尝试着构造一下输入来修改我们的个人薪资。
这里的eid和salary,字段都可以通过之前登录的漏洞获取到
alice', salary='20253917' WHERE Eid='10000'#

成功将我的薪资改为了我的学号

XSS攻击
进入SEEDLAB Ubuntu 16.04 在浏览器输入以下网址并进入(http://www.xsslabelgg.com/)

2.实践过程
不能只贴图。要详细阐述实验过程。
3.学习中遇到的问题及解决
- 问题1:XXXXXX
- 问题1解决方案:XXXXXX
- 问题2:XXXXXX
- 问题2解决方案:XXXXXX - ...
4.实践总结
xxx xxx
参考资料
- 《XXX第二版)》
- 《XXX》学习指导
- ...
