ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[网鼎杯 2020 朱雀组]Nmap 1

2021-12-24 15:36:13  阅读:239  来源: 互联网

标签:aa Nmap haha 转义 flag 123 2020 字符串 网鼎杯


[网鼎杯 2020 朱雀组]Nmap 1

这个题目主要考察的是nmap的常用命令和escapeshell函数

Nmap 相关参数

-iL 读取文件内容,以文件内容作为搜索目标
-o 输出到文件
举例

nmap -iL ip_target.txt -o result.txt

扫描ip_target.txt内包含的ip地址,输出扫描结果至result.txt
读取文件结果

# Nmap 6.47 scan initiated Fri Dec 24 06:48:23 2021 as: nmap -Pn -T4 -F --host-timeout 1000ms -oX xml/a9950 -iL /flag -o 22' 127.0.0.1\
Failed to resolve "flag{c5e95c66-f441-496b-ac27-699ea43d5c32}".
WARNING: No targets were specified, so 0 hosts scanned.
# Nmap done at Fri Dec 24 06:48:23 2021 -- 0 IP addresses (0 hosts up) scanned in 0.11 seconds

会提示搜索内容失败,然后会写出来内容是啥,从而实现任意文件读取。

escapeshell

分为excapeshellarg()和escapeshellcmd()两个函数

escapeshellarg()

escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数,保证其作为参数的安全性。

用转义符转义所有单引号,然后用单引号包裹,如

123' aa

经过escapeshellarg,先转义单引号

123\' aa

再用单引号包裹

123'\'' aa

最后,escapeshellarg会将整个字符串用单引号包裹,让字符串变成这样

'123'\'' aa'

escapeshellcmd()

escapeshellcmd - 把字符串中可能欺骗shell命令的字符转义, 用以保证送到system函数或者exec函数的字符串是安全的。

可以看到,不光这些字符,转义符本身还有落单的引号也会被转义。
这个时候,我们把传入escapeshellarg的字符串拿过来,在经过这个函数的处理。

'123'\'' aa'

转义后

'123'\\'' aa\'

因为转义符被转义,最后的引号便落单,逃逸了出去。这个时候,被输入的字符串不再被当成单个参数处理(不再有引号包裹), 即逃出了这两个函数。

题目


看上去是会把我们的参数拼接入nmap命令。
我们构建字符串

127.0.0.1 -iL /flag -o haha

希望读取位于根目录的flag文件,然后存入结果到haha中。
报错
看了别的师傅的WP发现经过了这两个函数的过滤,换用payload

127.0.0.1' -iL /flag -o haha

仍报错,但可以读取haha文件

这里要注意,参数因为经过了escapeshellcmd函数,被包裹上了引号,所以我们实际输出结果是输出到了haha'文件中,多了一个引号,在这里也可以看到。

标签:aa,Nmap,haha,转义,flag,123,2020,字符串,网鼎杯
来源: https://www.cnblogs.com/AikN/p/15727575.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有