1、SQL注入1
题目给出了部分代码,发现存在sql注入和xss注入
其中strip_tags()函数的用法:
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
注释:该函数始终会剥离 HTML 注释。这点无法通过allow参数改变。
注释:该函数是二进制安全的。
利用该函数可以在关键词中加如HTML语句,绕过SQL关键字,利用strip_tags()函数去掉HTML实现SQL注入
在and中间加入HTML标签<>,即可以绕过关键字防御
构造payload获得当前使用的数据库:
获取数据:
2、你必须让他停下
这题通过burpsuit抓包,多forward几次,一个个发到repeater里面发送访问包
3、文件包含
eval()函数:
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
$_REQUEST():
$_REPUEST 是接收了 $_GET $_POST $_COOKIE 三个的集合
可以直接print_r($_REQUEST) 看看效果
构造payload:
http://120.24.86.145:8003/?hello=);print_r(file(%22./flag.php%22));//
4、变量1
根据提示flag在变量中,题目给出了源代码,这里想到可以用超全局变量GLOBALS($GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。)
构造payload:
http://120.24.86.145:8004/index1.php?args=GLOBALS
5、秋名山老司机
2秒内不可能算出答案,但是可以用python脚本跑
编写python脚本
执行python脚本,得到flag:
Bugku{YOU_DID_IT_BY_SECOND}