其实也不算心得吧,只是一点小小的体会,抛砖引玉

怎么说呢,还是主要分享一下sql注入的思路,具体的操作还是要看网站了

第一步,注入点

sql注入点最好的寻找方式就是用google,可以经常去google的exploit-db去寻找不错的注入点,这里我也分享一些吧

google查询语句
提取码:yupw

然后手动简单的测试一下,如果觉得像注入点的话就可以移入我们的sqlmap做进一步测试

当然我们也可以查一个网站下面的注入点,就直接在这些语句后面加一点限制比如说site:company.com  intext:公司名称  什么的,达到我们对一个具体目标的测试

第二部,开始手工注入

这部分其实比较程序化

我是这个习惯

sqlmap -u "url" --batch --random-agent --dbs

batch可以让我们省去等待,免得一会还要yes或者no,我们可以直接让他自己跑,我们继续找,random-agent简单的处理一下头,因为默认的头是sqlmap防止被过滤,然后一上来我喜欢找有哪些数据库

然后爆表

sqlmap -u "url" --batch --random-agent -D database_name --tables

最后爆索引

sqlmap -u "url" --batch --random-agent -D database_name -T table_name --columns

最后爆数据

sqlmap -u "url" --random-agent --batch -D databases_name -T table_name -C columns_name --dump

指定dump就会把我们想要的数据爆出来

那么这里会遇见几个常见的问题

数据库名称不明显

这是一个很常见的问题,之前人们意识淡薄的时候,喜欢命名一些比较简单的,自己也好理解,比如说user-information什么的,这样一看就知道有用户的信息,所以我们可以大胆的往下走,但现在人们意识都提高了,往往命名都比较隐秘,所以我们需要自己去挖掘,一般第一步探测就先过滤掉几个系统表,比如说mysql里面的四个information_schema | mysql| performance_schema | sys几个,就可以选择其他的数据库开始爆里面的数据表,可能数据表里面就可以看出,如果数据表也看不出,就继续往下爆,肯定可以爆出来的

或者实在不开心了,直接把所有的数据表索引都爆了sqlmap -u "url" --random-agent --batch -D database --columns

加密密码不会破解

现在人们安全意识确实提高了很多,最开始明文储存密码,现在加密,以前是弱口令,很容易就被破解了,现在很多密码真的很...难搞,提供几个网站吧,个人正在用的

https://pmd5.com/

https://www.cmd5.com/

https://www.somd5.com/

http://www.ttmd5.com/

http://md5.tellyou.top/

https://hashtoolkit.com/decrypt-hash/

如果实在弄不出来,考虑考虑社工什么的,大不了把所有的数据都爆一遍,拍拍屁股走人算了

网站的安全机制

现在网站很多都有WAF/IPS,如果被sqlmap发现了,我们可以加点参数混淆

--hex (16进制编码)  --skip-waf  --hpp 以及里面的--tamper="" 脚本,可以去/usr/share/sqlmap/tamper查看,

space2morehash.py,space2hash.py或者base64encode.py或者charencode.py都是编码方式,我这里也只是提示一下啦,实际情况可能更复杂

找不到后台

这个也比较扎心...

不过我目前两个方法

第一个方法是google搜,利用google爬网,组合一下,首先是第一部分,就是登录页面的可能出现的内容,inurl:login inurl:admin intext:账号 intext:密码 intext:后台 intext:管理 intext:登录,以及英文版本,第二部分就是网站的关键信息,比如说这个网站叫血魔垃圾回收公司,我们可以site:xuemolaji.com 或者intext:血魔垃圾回收,两个部分组合,或许有收获

第二个方法就是工具,我比较推荐御剑,字典不错,是我用的比较好的,如果有不错的也希望大家推荐

御剑1.5
提取码:3f92

如果上面都解决了进了后台,就找找上传目录什么的,把我们的马挂上去,开始你的show time

题外话

其实sqlmap自带的也有拿shell方式,就很简单--os-shell

但目前怎么说,很难成功,因为你需要遇见一个傻傻的权限出了很大问题的网站,拿 linux为例

我们的mysql有自己的主目录,web-server是www-data这个用户

我们sqlmap获取对方用户的权限是mysql的身份,它对我们web站点的默认路径/var/www没有写入权限,所以--os-shell比较难获得写入的权限,除非碰上一个chmod 777 /var/www的小可爱

但我们还是可以通过 --file-read读取一些文件

sqlmap -u "url" --batch --random-agent --file-read="/etc/passwd"读取对方的目录

也可以通过--file-write写东西,不过也要注意权限问题,当然linux自带一个所有人都可以写的目录,/tmp,往/tmp这个目录去上传东西,具体操作是

sqlmap -u "url" --batch --random-agent  --file-write="1.txt" --file-dest="/tmp/1.txt" write填写本地的路径,dest是目标的路径

但还是有问题,比如说我们传过去一个木马,但是因为默认权限只有rw没有执行

所以这..之后我在想想...或许还可以传其他好玩的东西

所以其实我们可以最开始直接

sqlmap -u "url" --batch --random-agent --os-shell看看我们有没有这么好的运气,如果有的话之后很多事情就不需要做了

因为我对提权这块还不是很了解..目前只知道这些,还望见谅

额在补充一下,是cookie的

今天迷糊了一下,用 dvwa测试,结果sqlmap判断不出注入点,emm后来我才想起来,dvwa的注入点需要登录之后才可以访问,所以我们需要给sqlmap传入cookie,(cookie怎么看应该会吧,f12按了以后慢慢找..记着按f12之前先把fn开启),不然可能本来是个注入点,但是因为无法访问的原因判断错误

有时候站点可能登录后内部才有注入点,外部扫不出来,所以别忘啦cookie

sql注入学习笔记(4)--sqlmap注入心得相关推荐

  1. 探针一号的SQL注入学习笔记

    SQL注入学习笔记 文章目录 SQL注入学习笔记 1.问题 2.sqlilabs环境配置 3.第一个注入过程详解(整型注入) 4.跨库注入 5.字符型注入 5.报错注入 6.POST和COOKIE请求 ...

  2. SpringMVC:学习笔记(11)——依赖注入与@Autowired

    SpringMVC:学习笔记(11)--依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...

  3. spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)

    spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...

  4. sql 2005学习笔记1

    sql 2005学习笔记1 最近开始看赵松涛的<SQL 2005数据奥秘>,发现是本十分不错的独特的SQL 2005的书,讲了很多深入的东西,现学习之并每次笔记要点之. 1 SQL 200 ...

  5. sql个人学习笔记记录

    sql个人学习笔记记录 一: MySQL命令和语句挺多,全部记忆下来不现实,况且有不常用的指令.下面把大部分的指令做了记录和详细的注释. -- 启动MySQLnet start mysql -- 创建 ...

  6. SQL Sever 学习笔记

    经过一段时间的SQL Sever学习,同学们已经基本学会了SQL Sever的结构化的查询语句的使用,今天我分享一下自己的SQL Sever学习笔记,都是一些比较经典的SQL语句. 如何修改数据库表名 ...

  7. sql注入 学习笔记

    学习来源视频:https://www.bilibili.com/video/BV1HT411E7bH?p=1&vd_source=91ac068ef47e260a09856e8db81907c ...

  8. java sql objects_Java SQL注入学习笔记

    1 简介 文章主要内容包括: Java 持久层技术/框架简单介绍 不同场景/框架下易导致 SQL 注入的写法 如何避免和修复 SQL 注入 2 JDBC 介绍 JDBC: 全称 Java Databa ...

  9. Java SQL注入学习笔记

    1 简介 文章主要内容包括: Java 持久层技术/框架简单介绍 不同场景/框架下易导致 SQL 注入的写法 如何避免和修复 SQL 注入 2 JDBC 介绍 JDBC: 全称 Java Databa ...

最新文章

  1. 接口学习笔记(2009.11.24)
  2. leetcode 200岛屿的个数
  3. Python操作dict时避免出现KeyError的几种方法
  4. JavaSE总结笔记
  5. anaconda+cuda+cudnn+pytorch安装踩坑大全
  6. IO流-ReadLine方法的原理 自定义BufferedReader
  7. 火狐浏览器 模拟人工重复操作_火狐浏览器下载手机版-火狐浏览器下载安装到手机v68.6.0...
  8. 高德地图上展示终端信息
  9. Apache Tika源码研究(三)
  10. Lightroom Classic 教程,如何在 Lightroom Classic 中编辑照片?
  11. python输出欢迎某某某_Python基础中所出现的异常报错总结,python基础总结
  12. Java后台调用第三方支付接口(易宝支付)
  13. 三款 Mac 远程控制(远程桌面)工具
  14. 一个月可以学会单片机嘛?单片机编程学多久?
  15. python如何设置开头注释_小疯谈python:(二)python语言的基本语法元素
  16. 微信公众号系列之测试号使用
  17. 激光三角测量物体高度
  18. idea中用rest风格发送delete,put请求报405(tomcat8)
  19. MPC5746C双核启动配置分析
  20. (三十四)期权的盈亏图、平价公式和BS公式

热门文章

  1. SpringMVC 的核心组件有哪些?
  2. 天地图卫星地图在OpenLayers中的应用示例源码
  3. Cocos Creator 2D Effect 入门 (1)
  4. java正则校验-密码至少要由包括大小写字母、数字、标点符号的其中两项,共计8-16位编码组成
  5. 31次课(iptables filter表案例、iptables nat表应用)
  6. 毕业后我尝试过的副业
  7. 纯c语言打造的雷霆战机,飞机大战。可吃道具加强。
  8. 使用 * 打印等腰三角形
  9. php preg_PHP Preg简介
  10. 前端开发:Vue项目报错NavigationDuplicated:Avoided redundant navigation to current location:“/XXX”的解决方法