登录
首页 >  数据库 >  MySQL

sqli-lab之第一章--基础知识

来源:SegmentFault

时间:2023-01-22 09:00:45 156浏览 收藏

积累知识,胜过积蓄金银!毕竟在##column_title##开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《sqli-lab之第一章--基础知识》,就带大家讲解一下MySQL知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

第一章 基础知识

在我们的应用系统使用 sql 语句进行管理应用数据库时,往往采用
$id=$_GET['id'];
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

此处考虑两个点

  1. 一个是用一个单引号闭合前面的
    SELECT column_name(s) FROM table_name1 UNION
    SELECT column_name(s) FROM table_name2

    ps:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用

    SELECT column_name(s) FROM table_name1 UNION ALL
    SELECT column_name(s) FROM table_name2

    另外,

    Select * from admin where username='admin' and password='admin'

    我们可以用

    Select * from admin where username='admin' and password=''or 1=1#'

    Explain:上面的这个语句执行后,我们在不知道密码的情况下就登录到了 admin 用户了。原 因 是 在 where 子 句 后 , 我 们 可 以 看 到 三 个 条 件 语 句

    echo "你的 sql 语句是:".$sql."
    ";
    • $sql="SELECT * FROM users WHERE id=(“$id”) LIMIT 0,1";
    • 可以成功注入的有:

      ") or "1"=("1
      ") or 1=1--+
    • 其余的 payload 与 less1 中一样,只需要将 less1 中的
      '
      更换为
      ")

    终于介绍完啦!小伙伴们,这篇关于《sqli-lab之第一章--基础知识》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>