当前位置:首页>java>.net代码的白盒审计新手教程

.net代码的白盒审计新手教程

  • 2026-09-08 01:13:33
.net代码的白盒审计新手教程
拿到一个net的源码,要如何进行审计呢,新手对于刚拿到一个net源码,结果打开来全是dll文件,陷入沉思,但是别怕,这篇文章就教大家,如何审计。
可以看到刚拿到的代码,都是dll结尾
此时我们需要对其进行反编译,推荐使用ILSpy
ILSpy好像要下载 net6.0版本,下面是下载链接:
https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-6.0.36-windows-x64-installer?cid=getdotnetcore
下载完成后,打开ILSpy,直接ctrl+a,选中全部的文件,直接导入即可
可以看到,成功反编译,但是这样子不知道具体的代码逻辑文件,此时我们需要用Global.asax里面的代码,去寻找具体的逻辑代码位置
具体看到 Inherits="xxxxxx.web.MvcApplication",我们直接定位到这个文件 xxxxxx.web 这个文件
然后去找MvcApplication里的Application_Start函数,只要该函数有代码,基本可以确定使用了mvc框架
这时候,开始正式审计,老规矩,先去网站抓个数据包
可以发现,路径为 /Home/newLogin,全局搜索 newLogin,可以看到成功定位
由于这个接口是无需鉴权的,也可以看到他的鉴权逻辑,使用的是[AllowAnonymous]
此时,就知道了,当代码中出现[AllowAnonymous],既可以未授权访问
由于代码中,存在加密,我们直接定位到解密函数
可以看到,应该是rsa加密,尝试解密,成功解密
继续回到刚才的代码,可以看到select xxxx + ,直接用+号拼接,一眼顶针
接下来对于SQL注入,先找拦截器,成功找到了拦截器
只要调用了该函数,就先小写,然后进行匹配,匹配到就gg,大小写绕过也就gg了,但是我们跟进SelectForDtl,居然没用到这个过滤函数??
那就不客气了,直接尝试黑盒注入,加个单引号
发现报错
直接构造盲注大礼包

当payload为 1'or/**/if(1=1,1,0)='1,回显,此时为1=1,为true

当payload为 1'or/**/if(1=2,1,0)='1,回显 ,此时为1=2,为false

当current_user长度大于1时

1'or/**/if(length(current_user)>1,1,0)='1

当current_user长度大于1000时

1'or/**/if(length(current_user)>1000,1,0)='1

拿下拿下!

手法/质疑/嘲笑/辱骂/劝退/回家

最新文章

随机文章