`
security
  • 浏览: 379693 次
  • 来自: www.pgp.org.cn
社区版块
存档分类
最新评论

CAS协议的抓包分析

阅读更多

近日有朋友想了解一下CAS的协议的HTTP流程,我之前抓过包,现在贴出来,希望对那位朋友有所帮助。
CAS Server:caserver:7002
Tomcat APP应用:appserver01:8080
访问
appserver01:8080 SessionExample<!----><o:p></o:p>

GET /servlets-examples/servlet/SessionExample HTTP/1.1<o:p></o:p>

Accept: */*<o:p></o:p>

Accept-Language: zh-cn,en;q=0.8,zh;q=0.5,zh-tw;q=0.3<o:p></o:p>

Accept-Encoding: gzip, deflate<o:p></o:p>

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon; .NET CLR 2.0.50215)<o:p></o:p>

Host: appserver01:8080<o:p></o:p>

Connection: Keep-Alive<o:p></o:p>

<o:p> </o:p>

appserver01:8080 引导我到 casserver:7002 进行认证 , 注意 ,Service=SessionExmaple URL<o:p></o:p>

HTTP/1.1 302 Moved Temporarily<o:p></o:p>

Set-Cookie: JSESSIONID=22311DC<!----><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="79" unitname="C">79C</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="684" unitname="a">684A</st1:chmetcnv>911EEEBC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="F">3F</st1:chmetcnv>0FBDB136; Path=/servlets-examples<o:p></o:p>

Location: https://casserver:7002/cas/login?service=http%<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a">3A</st1:chmetcnv>%<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="F">2F</st1:chmetcnv>%2Fappserver01%<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a">3A</st1:chmetcnv>8080%2Fservlets-examples%2Fservlet%2FSessionExample<o:p></o:p>

Content-Length: 0<o:p></o:p>

Date: Fri, 28 Oct 2005 06:33:54 GMT<o:p></o:p>

Server: Apache-Coyote/1.1<o:p></o:p>

<o:p> </o:p>

紧接着,我的 IE 访问 casserver:7002 ,走 SSL 协议 <o:p> </o:p>

__Q_M_Ca?R??d‰.!#U?-é?11úhx_??{?e???ò?_h|íA?6<o:p></o:p>

?|__“w?o___<o:p></o:p>

db____c_<o:p></o:p>

<o:p> </o:p>

casserver:7002 出示证书给我看,并且给予我 ServiecTicket, 下面的是乱码, SSL 协议是这样,将就一下 J <o:p> </o:p>

__:_6_Ca??bê| !ì_?^? ?AB__ü5;_s+_?2òG_a????“?dJEám:_ìo____y__u_r_á0?_?0?_??_______0<o:p></o:p>

_*?H?÷<o:p></o:p>

____0~1_0___U____BEA1_0__U____CN1_0__U____GZ1_0__U____GD1_0___U_<o:p></o:p>

__BEA.CO.LTD1_0___U____BEA1_0__*?H?÷<o:p></o:p>

____CA@BEA.COM.CN0__<o:p></o:p>

051017081352Z_<o:p></o:p>

061017073844Z0[1_0___U____CASSERVER1_0___U____BEA1_0<o:p></o:p>

__U_<o:p></o:p>

__DIANLI1_0__U____GZ1_0__U____GD1_0__U____CN0??0<o:p></o:p>

_*?H?÷<o:p></o:p>

_____??0?‰_??‰?c????y-_?qCú6`μue??!′?·[/`sd?__?i?—n?+]??¨¨??_oa·__?C!í??)réé_?_c?€shì?>O??…^S_L!E’?_^uüó?z??SQ&· Zˉ?[???_Ya_Vo???@q ~?1_è?____ <o:p> </o:p>

0_0__U____00<o:p></o:p>

_*?H?÷<o:p></o:p>

_____?__1\ aú]_é_bn??  3? ?L?R_/?ùí_1?%B?yêH?€ükáeò%??qd 40_c??_r?ìO?9z?q"M bxj?y_aO<o:p></o:p>

??ü|??i_0N?.?Z?adóú???P?)?–ê3@m?U_???3Q_ iH_*D`?B?^?_?_?A??€3€#)y?_ì?)-? áQ%èHh?_úeá??1“á×?^C. _S8?p?Xèt%-?%a·òX _B;)?? ”μío€oY???QG_L–k3??Z^?s??i??ì!????_?!2?}“W???._?Yo?}Rw_?0?_?0?_o?_______0<o:p></o:p>

_*?H?÷<o:p></o:p>

____0~1_0___U____BEA1_0__U____CN1_0__U____GZ1_0__U____GD1_0___U_<o:p></o:p>

__BEA.CO.LTD1_0___U____BEA1_0__*?H?÷<o:p></o:p>

____CA@BEA.COM.CN0__<o:p></o:p>

051017073844Z_<o:p></o:p>

061017073844Z0~1_0___U____BEA1_0__U____CN1_0__U____GZ1_0__U____GD1_0___U_<o:p></o:p>

__BEA.CO.LTD1_0___U____BEA1_0__*?H?÷<o:p></o:p>

____CA@BEA.COM.CN0?_"0<o:p></o:p>

_*?H?÷<o:p></o:p>

_____?__0?_<o:p></o:p>

_?__?]??·‘f??_€c’6q??)?1<o:p></o:p>

???_)?__?μ?_?ˉ_???u??|Q)??x??M?_> |_·à_—z? ?J_à\!_La2?Eé&7…_<o:p></o:p>

<o:p> </o:p>

____)__?_€qG?9ê?_r!?E?<?9W?(JfSè?·?-M??í_E ??ùM?~éy_|?′?/_ˉj?Y.|??¤#oRˉ?atàó4_????è<o:p></o:p>

?_,> \í(?íà?“@u_I_?ê<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="C">1c</st1:chmetcnv>?K?8?°*?7üU*áQ?l??h?à9¨í€j]?,n______8_xR_a?4V<`×?#?d?_ù_??‰?_/aD$qqù[OW???1÷f?é_??_·×06Y?ì%ó<o:p></o:p>

<o:p> </o:p>

______8k?°?`¤E?_Qc ?“à??c7r_/?<o:p></o:p>

MS?|?E ??]??_!°#??¨_?ò<??_\èe?[<o:p></o:p>

<o:p> </o:p>

____ê<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="53" unitname="m">53M</st1:chmetcnv>_???íV?c1?ú?4?|a?_??ò?`?w??o“?à;J3?fF°"?XL||u?|~ˉa;_?&_è`_Ca‰90‰L$2#ú<o:p></o:p>

_I_?è?q?rò` ?uEHg3e%j_JC????vo.N??úa?_á?f<o:p></o:p>

aad?hò_oò ?-?Ník?H1?à??i_so\?1dvQC?4??–?‰a€?Xú6?1???pDè??í^nW????_‰_à_ó…|JEG?[asv?Wt(??μ<o:p></o:p>

o _h?_2_í7e???2__I _H? óêμ_L??ü÷?’1°__???o—_H !7?é-à:?G??*?a |?à???7O¨gVc???2à/?–÷ ”?????óD_§o?*Nμ’à??ù)@/<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="a">2a</st1:chmetcnv>1?|{??-??";h??_?:¤?μ_}??MC?x_R?_)×6??_?ê_¨_<o:p></o:p>

_ z??u?_ _è?¨?+,.:?_1?__]??E ¢£ ?_?9?.3uX Az??¤_??—Zù?×e?#?????__LY?_4??7"Wií?|_fOí·_?_e?_p0?_?‘?ì?L":,7?$)b__9?v?pí;±?R?l?4??Z_}V_o,_.5y@?1\_e?kk??|x??%?U-–‰?¤<o:p></o:p>

<o:p> </o:p>

__éYì?T?_’w?ù?yxóˉL’ì??5_???}ìì?????_Cce<]8?JoB??1?_.—?$_?P2??pê_0?$è?òú—?–8[?‰i???_??O7Cb???××R/??o_?S_?G$}??_)*U$ó!$5ê__(ê?¨?yò_2_RìzGGLó??1N:”"7?¨2__?7?_$?“ _a_<o:p></o:p>

/xD‰<o:p></o:p>

'Qò?“—?tv?BM ·_sùò__?ú_§_\??iòk? ___#oE?$ [sIêv?fU…r _?x.k_^_?plü’????^?9!_7Ja_}·# ?U&>?'§v_KX_–@4<o:p></o:p>

üWí<o:p></o:p>

§?f-,_?_±??_?<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="9" unitname="l">9l</st1:chmetcnv>?_r¨è?D_ppíK?=D&?/0u3\?]?h’?&X?_·?g_)?…;è_7d·?<o:p></o:p>

téa?”??_q?úal??_1waE€é_?$p?_—[?p°__`ù·…_p??R??zW_*‘ ü_?P]7Z_?<o:p></o:p>

J‘9?¤??ˉ?\qפ_?c __?Q_?_??\_?_%?5_??FL??8μH ?N_ò??a"_5/'?…__Cl:1?rqs_ú?-#??_–_?_?′ ?;C í6?_x_y_?RPhì??b??_{F_?¨êùi€W+9??__·?L ?&_ú?k__é?>ú]ˉ?g?=?????>è?~Q?×s}??_3,?5_?ˉ_?—?D?ù?_1rtF_?.—_>ú} ?K?_??k_???ó?A?!???__S&?e_/??_??B_V??è_5Q8%??3?ú-??_Vao?a×???_ ?-U?__u_;??4H=d1é§'?ˉ?|ò_|_??R dRè5?g9Y…±6?è??m?\_Nˉ|á3y3_’y`4?1êa-?ú?V?_f¨3_?d_?_?*_????bü^?o§r?_ <o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

认证完毕,我得到ServiceTicket,我便用 casserver:7002 提供的 ServiceTicket 访问 appserver01:8080 SessionExample应用<o:p></o:p>

GET /servlets-examples/servlet/SessionExample?ticket=ST-1-9xVu1SfonRNKcjdyKbG9 HTTP/1.1<o:p></o:p>

Accept: */*<o:p></o:p>

Accept-Language: zh-cn,en;q=0.8,zh;q=0.5,zh-tw;q=0.3<o:p></o:p>

Accept-Encoding: gzip, deflate<o:p></o:p>

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon; .NET CLR 2.0.50215)<o:p></o:p>

Host: appserver01:8080<o:p></o:p>

Connection: Keep-Alive<o:p></o:p>

Cookie: JSESSIONID=22311DC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="79" unitname="C">79C</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="684" unitname="a">684A</st1:chmetcnv>911EEEBC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="F">3F</st1:chmetcnv>0FBDB136<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

appserver01:8080 认为我的 Ticket 是正确的,因此正确返回网页给我。 <o:p> </o:p>

HTTP/1.1 200 OK<o:p></o:p>

Content-Type: text/html;charset=ISO-8859-1<o:p></o:p>

Content-Length: 1188<o:p></o:p>

Date: Fri, 28 Oct 2005 06:33:54 GMT<o:p></o:p>

Server: Apache-Coyote/1.1<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

Sessions Example<o:p></o:p>

Session ID: 22311DC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="79" unitname="C">79C</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="684" unitname="a">684A</st1:chmetcnv>911EEEBC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="F">3F</st1:chmetcnv>0FBDB136 <o:p></o:p>

Created: Fri Oct 28 14:33:54 CST 2005<o:p></o:p>

Last Accessed: Fri Oct 28 14:33:54 CST 2005 <o:p></o:p>

<o:p> </o:p>

The following data is in your session:<o:p></o:p>

edu.yale.its.tp.cas.client.filter.user = cas<o:p></o:p>

<o:p> </o:p>

Name of Session Attribute: <o:p></o:p>

Value of Session Attribute: <o:p></o:p>

<o:p> </o:p>

GET based form:<o:p></o:p>

Name of Session Attribute: <o:p></o:p>

Value of Session Attribute: <o:p></o:p>

<o:p> </o:p>

URL encoded <o:p> </o:p>

 <o:p></o:p>

<o:p> </o:p>

IE会接着 获取网页上的图片,见 GET 后面那一串字符,什么 code.gif,return.gif..... ,获取的根据都是 <o:p> </o:p>

靠那个 ticket=ST-1-9xVu1SfonRNKcjdyKbG9 ,如果这个 ST 不对,图片是获取不了的!

<o:p> </o:p>

<o:p> </o:p>

GET /servlets-examples/images/code.gif HTTP/1.1<o:p></o:p>

Accept: */*<o:p></o:p>

Referer: http://appserver01:8080/servlets-examples/servlet/SessionExample?ticket=ST-1-9xVu1SfonRNKcjdyKbG9<o:p></o:p>

Accept-Language: zh-cn,en;q=0.8,zh;q=0.5,zh-tw;q=0.3<o:p></o:p>

Accept-Encoding: gzip, deflate<o:p></o:p>

If-Modified-Since: Sun, 29 Aug 2004 00:02:34 GMT<o:p></o:p>

If-None-Match: W/"292-1093737754000"<o:p></o:p>

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Maxthon; .NET CLR 2.0.50215)<o:p></o:p>

Host: a

分享到:
评论

相关推荐

    BACnet常用的开发工具,包括点位扫描工具,主站模拟工具以及抓包分析工具

    BACnet抓包分析工具:这些工具用于捕获和分析BACnet通信过程中的数据包和消息。它们可以帮助开发人员检查通信的质量和效率,并识别潜在的问题和错误。一些常用的BACnet抓包分析工具包括Wireshark、BACnet Sniffer等...

    cas spnego认证方式(即加ad域的windows主机应用免登录)高可用集群方案(目前来看国内第一份资料,本人探索出来的)

    进一步通过抓包工具(如Wireshark)发现,这主要是因为Kerberos认证过程中所使用的SName(Service Principal Name)发生了变化,导致KDC无法正确解析请求。 - **解决方案**:为了解决这一问题,需要在KDC中为Nginx...

    MODBUS通讯协议

    例如,集线器(Hubs)和交换机(Switches)在数据传输上各有优劣,使用Wireshark等网络抓包工具进行网络包的嗅探可以帮助我们在调试和故障排除时更准确地识别问题所在。 对于Modbus通讯的故障排查,需要了解必要的...

    关于SSO单点登录的简单实现

    工具方面,开发和调试SSO通常会用到HTTP抓包工具(如Wireshark或Fiddler),这些工具可以帮助我们查看HTTP请求和响应,确保票据在正确的时间被正确地传递。此外,日志分析工具也非常重要,它们能帮助我们追踪错误,...

    source

    对于开发者来说,掌握相关工具,如HTTP抓包工具(如Wireshark)、日志分析工具(如Logstash、Kibana)和测试工具(如Postman),能够帮助他们更有效地调试和测试CAS客户端的实现。 总结,"source" 可能涉及的是对源...

    java开源包3

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包8

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包4

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    Java资源包01

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    十年码农内功2023.7.2.pdf

    在网络章节,作者涵盖了网络分层模型,从物理层到应用层的各个层面,特别是以太网、IP、ICMP、TCP、UDP等网络协议,以及Socket编程、虚拟网卡(Tun/Tap)、网络抓包工具和网络性能优化。这些内容对于网络编程和系统...

    java开源包1

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包2

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包6

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包5

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包10

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包11

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包7

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包9

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    java开源包101

    jSIP这个Java包目标是用Java实现SIP(SIP:Session Initiation Protocol)协议及SIP协议的其它扩展部 分。 Java表达式语法解析库 parboiled parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG...

    JAVA上百实例源码以及开源项目源代码

    例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在...

Global site tag (gtag.js) - Google Analytics