【漏洞分析】hsycms 存储型XSS漏洞分析

admin 2021年9月29日23:57:50评论281 views字数 1065阅读3分33秒阅读模式

一、漏洞描述:

在prevNext()函数中,直接将接收到的传参,没有经过任何的过滤,直接作为where条件带入执行,从而造成SQL注入漏洞。




二、漏洞分析过程:

定位到漏洞代码:/app/index/controller/Show.php中的sendmail()方法

这里用input()方法接收post数据,然后直接调用insert()方法将数据插入到book表,中间没有任何过滤:

【漏洞分析】hsycms 存储型XSS漏洞分析


book表的字段如下:

【漏洞分析】hsycms 存储型XSS漏洞分析


因为程序是基于thinkphp二开的,所以访问到此方法根据tp的路由:/index/show/sendemail,然后POST根据表的字段传入对应数据即可




然后分析一下输出过程:

/app/hsycms/controller/Site.php中的book()方法

这里直接查询book表的数据,然后assign()将查到的数据$list直接赋值给模板

【漏洞分析】hsycms 存储型XSS漏洞分析



根据tp的模板定义规则,定位到模板文件:/admin/view/site/book.html

然后会输出以下这些字段,所以只需要将XSS payload插入这些字段中即可触发

【漏洞分析】hsycms 存储型XSS漏洞分析




三、漏洞利用:

构造如下数据包即可:

POST /index/show/sendemail HTTP/1.1Host: www.hsycms.testUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateDNT: 1Cookie: PHPSESSID=j44mhqsbphnavuvr54vpj2poj1;user=1Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 81
title=test&name=test&company=test&phone=111&content=


提示留言成功:

【漏洞分析】hsycms 存储型XSS漏洞分析


看一下数据库中的内容:

【漏洞分析】hsycms 存储型XSS漏洞分析

当管理员后台查看留言的时候就会触发:

【漏洞分析】hsycms 存储型XSS漏洞分析


成功触发XSS:

【漏洞分析】hsycms 存储型XSS漏洞分析



点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

【漏洞分析】hsycms 存储型XSS漏洞分析



本文始发于微信公众号(哈拉少安全小队):【漏洞分析】hsycms 存储型XSS漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年9月29日23:57:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【漏洞分析】hsycms 存储型XSS漏洞分析https://cn-sec.com/archives/381191.html

发表评论

匿名网友 填写信息