审计工具
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、一款轻量级的代码编辑器。将反编译后的源码直接拖入进去即可。
反混淆
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确认有漏洞