.net源码审计

  • A+
所属分类:编程茶楼

先vs预编译,之后dll扔reflector里面跟,这样比看源码直观得多。

一般来说有上传的话跟上传,看逻辑。否则直接跟login提交地址,看验证方式,不少的.net都有cookie欺骗。

数据库连接一般都有个dbhelper,看到sqlparamter、dbparamter、command.paramters.add等参数化查询就不用看了,没戏。绝大多数.net都用的是参数化查询。

xss看页面和web.config里面validaterequest是不是true,是的话基本没戏。

加解密一般都是DES或AES,key和iv还都是固定的,属于程序猿骗自己,直接找对应方法解了。

上传还是要看逻辑,现在用得最多的就是ckeditor那一套写死了的后缀。有时候某些操作可能会创建文件,可能有利用之处。创建文件一般用这几个方法:

File.WriteXXXX,Request.Files[X].SaveAs,FileStream.Write,在vs里面区分大小写搜索找找调用。

反射调用方法之类也要注意,某些程序猿自己写的ORM中有代码执行,不过极为少见。例如Type.GetType(a).GetMethod(b,...).Invoke(.....,{c})如果abc均可控,那么分别设置为System.Diagnostics.Process、Start、whoami就能执行whoami。

现在常用的.net语言vb和c#都非常死板,所以漏洞基本也就是常见的那几种。如果程序猿完全按照微软推荐的做法来,除了上传漏洞外什么都不可能有。找的话还是把重心放在挖掘逻辑漏洞上、

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: