ASP.NET终极代码审计

审计工具

ILSpy

https://github.com/icsharpcode/ILSpy

预编译的原理:

简单的来说,就是在网站发布时将aspx文件进行编译,转换成dll文件。因为.NET程序在运行时会优先加载bin目录下的程序集。

即index.aspx -> /bin/index.dll

在用户访问index.aspx时,则直接由index.dll进行处理。而不是index.aspx。一旦进行预编译后,相关程序会被转换为dll存储在bin目录下。这时候,程序的访问路径和相关逻辑,都被封装成了dll。无论根目录下是否存在index.aspx,都可以正常处理特定路由下的功能。

Notepad++
使用Ctrl + F打开查找框,并切换到“替换”标签。

小工具 #用来提取路径

ListFile

https://github.com/He1za1/ListFile

用命令也可以实现,dir /s /b *.aspx

可以使用这个命令,dir /s /b *.aspx > md.txt

但是这个命令输出的结果前面会有原来的绝对路径,只要处理一下就好了

这边给大家一个python脚本

python代码:

print(r"""
===============================================
     
                   __  .__     
     ___________ _/  |_|  |__  
     \____ \__  \\   __\  |  \ 
     |  |_> > __ \|  | |   Y  \
     |   __(____  /__| |___|  /
     |__|       \/          \/ 

                                  by 马丁
===============================================
 """)
 
filename = 'md.txt'  
# 如果你想要将结果写入到一个新文件,可以取消以下行的注释并修改文件名  
# new_filename = 'modified_paths.txt'  
  
# 读取文件内容到列表中,每行一个元素  
with open(filename, 'r', encoding='gbk') as file:  
    lines = file.readlines()  
  
# 去除每行开头的'D:\\WebRoot\\'(注意Windows路径中的反斜杠需要转义)  
modified_lines = [line.replace('D:\\WebRoot\\', '') for line in lines]  
  
# 写入修改后的内容回文件。如果你想写入新文件,请取消下面注释中的new_filename的使用  
# with open(new_filename, 'w', encoding='utf-8') as file:  
with open(filename, 'w', encoding='utf-8') as file:  
    file.writelines(modified_lines)  
  
print("处理完成,已去除每行的'D:\\WebRoot\\'部分。")

下面是处理完的结果

使用dirsearch对接口做扫描,快速的找出可未授权访问的页面。

sublime、一款轻量级的代码编辑器。将反编译后的源码直接拖入进去即可。

http://www.sublimetext.com/

反混淆

de4dot、https://github.com/de4dot/de4dot

反混淆的工具有很多,其中de4dot是目前最主流的反混淆工具。

检测混淆器类型

de4dot.exe -d f:\bin\h1z1.dll

批量反混淆

de4dot.exe -r c:\input -ru -ro c:\output

 漏洞案例

sql注入

直接将用户输入拼接到SQL查询字符串中,而没有进行适当的清理过滤或参数化。

漏洞验证。

1'报错

 bp抓包sqlmap确认有漏洞

 

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值