刷题得到的零碎知识点

刷题得到的知识点

1:select * from 'admin' where password=md5($pass,true)

可以用ffifdyop这个字符串来绕过这个md5($pass,true),md5函数在指定了true的时候,是返回的原始 16 字符二进制格式。也就是说会返回这样子的字符串:'or’6\xc9]\x99\xe9!r,\xf9\xedb\x1c(抄的= =)
然后就会拼接成:
(题目的提示感觉还是有点问题的,因为md5函数返回的是字符串,后端应该会用单引号/双引号包起来的),所以应该会拼接为这样子:

select * from 'admin' where password=''or'6.......'相当于password=''or 1 变成了永真式。:

2:nmap命令中 有一个参数-oG可以实现将命令和结果写到文件

这个命令就是我们的输入可控!然后写入到文件

?host=' -oG hack.php '

escapeshellarg()和escapeshellcmd() 两个在一起使用会有漏洞。

传入的参数是:172.17.0.2' -v -d a=1
经过escapeshellarg处理后变成了'172.17.0.2''' -v -d a=1',即先对单引号转义,再用单引号将左右两部分括起来从而起到连接的作用。
经过escapeshellcmd处理后变成'172.17.0.2'\'' -v -d a=1',这是因为escapeshellcmd对\以及最后那个不配对儿的引号进行了转义:http://php.net/manual/zh/function.escapeshellcmd.php
最后执行的命令是curl '172.17.0.2'\'' -v -d a=1',由于中间的\被解释为\而不再是转义字符,所以后面的'没有被转义,与再后面的'配对儿成了一个空白连接符。所以可以简化为curl 172.17.0.2\ -v -d a=1',即向172.17.0.2\发起请求,POST 数据为a=1'。

3 load_file 读取文件。

?no=-1 union/**/select 1,load_file("/var/www/html/flag.php"),3,4

4 SSRF

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)

SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。

举例 : A网站,是一个所有人都可以访问的外网网站,B网站是一个他们内部的OA网站。
所以,我们普通用户只可以访问a网站,不能访问b网站。但是我们可以同过a网站做中间人,访问b网站,从而达到攻击b网站需求。

关于bluecms的一些信息如下 ↓↓↓

http(s)😕/url/ad_js.php存在注入

http(s)😕/url/include/common.fun.php存在ip伪造注入

可以通过ssh连接buu内网主机

ssh -p 25815 root@node3.buuoj.cn

-p指定端口,root为用户名,@后为ip地址,第一次连接需要输入yes

posted @ 2022-03-03 15:00  追梦,追念。。  阅读(54)  评论(0编辑  收藏  举报