文件包含漏洞面试题

————————————————
版权声明:本文为 CSDN 博主「_PowerShell」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_51577576/article/details/128123224
转发博文:http://t.csdn.cn/bo3hT

# 什么是文件包含漏洞?

1
2
文件包含漏洞是一种最常见的漏洞类型,它会影响依赖于脚本运行时的web应用程序。当应用程序使用攻击者控制的变量构建可执行代码的路径时,文件包含漏洞会导致攻击者任意控制运行时执行的文件。如果一个文件包含这个漏洞,为了方便起见,经常在开发阶段就实施。由于它经常用于程序开发阶段,所以这就为后来的攻击埋下了伏笔并导致了各种基于文件的攻击。
文件包含漏洞主要是程序员把一些公用的代码写在一个单独的文件中,然后使用其他文件进行包含调用,如果需要包含的文件使用硬编码,一般是不会出现安全问题,但是有时可能不确定需要包含哪些具体文件,所以就会采用变量的形式来传递需要包含的文件,但是在使用包含文件的过程中,未对包含的变量进行检查及过滤,导致外部提交的恶意数据作为变量进入到了文件包含的过程中,从而导致提交的恶意数据被执行。

Read More

SSRF漏洞

参考:https://cloud.tencent.com/developer/article/1561355
http://t.csdn.cn/moXj6

# 原理

SSRF(Server-Side Request Forgery,服务器端请求伪造)
形成的原因:大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据。即以存在 SSRF 漏洞的服务器为跳板取得其他应用服务器的信息。

Read More

php信息利用

# phpinfo 页面信息利用

参考:https://www.secpulse.com/archives/117762.html

  1. system
    获取操作系统具体版本,提权
  2. Server API
    依稀记得做题用到这个条件限制,记不太清楚了…
  3. Registered PHP Streams
    已注册的 PHP 流
    可以利用 php 伪协议
  4. Registered Stream Filters
    可使用的过滤器
  5. 伪协议利用条件
    allow_url_fopen
    allow_url_include
  6. extension_dir
    php 扩展的路径
  7. disable_functions
    禁用函数列表
  8. open_basedir
    将用户可操作的文件限制在某目录下

Read More

暴力破解

————————————————
版权声明:本文为 CSDN 博主「_PowerShell」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_51577576/article/details/128131553
转发博客:http://t.csdn.cn/BHL70

# 什么是暴力破解漏洞?

1
2
暴力破解是指采用反复试错的方法并希望最终猜对,以尝试破解密码或用户名或找到隐藏的网页,或者找到用于加密消息的密钥。这是一种较老的攻击方法,但仍然有效,并深受黑客追捧。
根据密码的长度和复杂性,破解所需的时间从几秒钟到很多年不等。有些黑客每天针对的目标实际上都是相同的系统,持续时间达到几个月甚至是几年。

Read More

博弈论

ps:声明!!!该内容为本人从公选课途径获取,如有错误,轻喷!!!

# 引言

# 博弈三要素

  1. 谁参与这个博弈
    参与这个博弈的,叫做这个博弈的参与人或者局中人 (player)。
    n 个参与人的博弈,叫做 n 人博弈 (n—person game)。
  2. 可供参与人选择的行动 (action) 或者策略 (strategy)
    对局 (strategy profile)
    策略组合 (strategy combination)
  3. 支付
    在博弈的各种对局下各参与人的赢利或者得益,叫做参与人的支付 (payoff)

Read More

中南民族VPN登录框

探索

  • 首先探测 https://webvpn.scuec.edu.cn/users/sign_in
    burp 抓包
    对参数 url 解码
NAME VALUE
authenticity_token YfVXnZvUQQ5tSly8sK0TlxMdC0AMPaJeytcoJyq6CPEgnqbVU9DRXPlCxCn5IK9/U95t0kP9YCGCRVDGvofkIw==
user[login] 202021091205
user[password] 123456
user[dymatice_code] unknown
user[otp_with_capcha] false
_rucaptcha bysn
commit 登录 + Login

爆破


  • password
  1. 通过分析 js 代码
1
$("#saltPassword").val(encryptPassword($(LOGIN_PASSWORD_ID).val(),$("#pwdEncryptSalt").val()));

将 pwdEncryptSalt(id) 作为 encryptPassword 函数的参数还有输入的 LOGIN_PASSWORD_ID,一起带入加密
2. 获取 pwdEncryptSalt(id)
分析前端 html 代码可知,pwdEncryptSalt 的 value 每次都不同,而且是从后端获取的,那么我们可以利用 python 发请求,正则表达式得到其值
3. encryptPassword 函数
前端可以直接获取加密的 js 包
直接写个 button (测试) 得到加密后的 saltPassword,貌似是 AES 加密
4. 对 password 和 excution 进行 url 编码后再放进去
放包看结果!
5. 貌似失败了捏
原因分析:
(1)操作超时?(脚本可以解决)
显然不是,我抓包等了 15 分钟,放包依然成功登录
(2)还有其他限制?

1
<input type="hidden" id="pwdEncryptSalt" value="qZb7cLORB1US5u0s" /><input type="hidden" id="execution" name="execution" value="65f5498c-3c66-4390-90f4-9d4084dc2f12_ZXlKaGJHY2lPaUpJVXpVeE1pSjkuMWlYR3RubWZKU1NoK0xUTGtnaC90aDAx……“/>

把 python 请求的这部分替换到前端直接登录,发现登录认证失败,问题应该就是出在这里。

文件上传漏洞面试题

————————————————
版权声明:本文为 CSDN 博主「_PowerShell」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_51577576/article/details/128107202
转发博文:http://t.csdn.cn/6b1Jg

# 什么是文件上传漏洞?

1
2
1、文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
2、Web应用程序一般都具有上传功能,如果服务端代码未对客户端上传的文件进行严格的验证和过滤,恶意攻击者可以上传脚本文件并被服务器解析,文件上传漏洞就产生了。

Read More

登陆界面逻辑漏洞

# 登录界面逻辑漏洞

主要从用户身份和用户信息两个点切入

# 用户身份

  • 注册
  1. 恶意注册(覆盖用户)
    个人想法:
    (1)之前做过一个 sql 注入的 ctf 题,该题主要利用 union 重列了一个和注册过的用户一模一样的用户名,密码是不同的,从而成功登录
    (2)利用 nodeprep.prepare 函数漏洞(视觉欺骗),使得数据库存在的用户名密码更改为现在的用户名密码,从而成功登录
  2. 任意用户注册
    个人想法:
    (1)邮箱或者手机号未认证,之前登陆过一个比赛平台(网络安全比赛平台。。。)然后邮箱没啥用,随意注册。当时没试过,可能会出现密码覆盖的情况,导致他人登录
    (2)无验证码或者验证码不安全,对注册无限制要去,或许可以写个脚本批量注册,类似于 ddos 导致服务器崩溃咩?

Read More

php反序列化

参考:http://t.csdn.cn/dWy9l
https://www.cnblogs.com/fish-pompom/p/11126473.html

# 序列化

有时需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化 (也叫序列化)。
json 数据使用,分隔开,数据内使用:分隔键和值
json 数据其实就是个数组,这样做的目的也是为了方便在前后端传输数据,后端接受到 json 数据,可以通过 json_decode () 得到原数据,这种将原本的数据通过某种手段进行 "压缩",并且按照一定的格式存储的过程就可以称之为序列化。
有两种情况必须把对象序列化:

  1. 把一个对象在网络中传输
  2. 把对象写入文件或数据库

Read More

访问量 访客