????ASP.NET???????CSRF????
???????????? ???????[ 2015/12/14 10:56:22 ] ??????????????????? .NET
????CSRF??????
????CSRF??Cross-site request forgery????????????????????α??????????one click attack/session riding????д???CSRF/XSRF??CSRF??Cross Site Request Forgery?? ?????????α???????????????????????? 2007 ??????????????? 20 ???????????????????????????? SQL ???????????????????????????????????????????????????????????????????????????????????????CSRF ??????????????????????????????? Gmail?? ?? 2007 ?????????? CSRF ??????????????????? Gmail ????????????????
????CSRF??????????
?????????????????CSRF????????????????????????????????巢?????????CSRF???????????????????????巢????????????????????????????????????????????????......????????????????????й????????????
????CSRF???????
?????????????????????????CSRF????????????????????????????裺
????1.????????????A?????????????Cookie??
????2.??????A??????£?????Σ?????B??
?????????????????????“???????????????????????е??????????????CSRF?????”???????????????????????????????????
????1.????????????????????????????tab??沢??????????????
????2.???????????????????????Cookie????????????ε??????????????????????????????????????????????????????????????????????????????/????????......??
????3.???????ν????????????????????????????????????ε?????????????????
?????????????????CSRF?????????????????????????????????CSRF????????????????????????????????????????????????????????????????:>??
???????????A??????GET???????????????????????磺http://www.mybank.com/Transfer.php?toBankId=11&money=1000
????Σ?????B?????????????HTML????????£?
????<img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>
??????????????????????A????????Σ?????B???????????????????????????1000??......
????????????????????????????AΥ????HTTP?淶?????GET?????????????????Σ?????B???????????????????????A????B?е?<img>??GET??????????????????????????????????????????????????????????????????????????????????????????????????????????????A??Cookie????Get???????????“http://www.mybank.com/Transfer.php?toBankId=11&money=1000”????????????????????????????????????????????????????????????????????????????......
??????????? CSRF ????????
??????????????? CSRF ???????????????????? HTTP Referer ??Σ?????????????? token ????????? HTTP ?????????????????????????????????????????????
??????? HTTP Referer ???
???????? HTTP Э?飬?? HTTP ??????????ν? Referer?????????? HTTP ??????????????????????£????????????????????????????????????????????????? http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory????????????? bank.example???????????????????????????????????????????????? Referer ??????????????????? URL????????? bank.example ????????????????????????????????? CSRF ???????????????????????????????????????????????????????????????????? Referer ?????????????????????????? CSRF ????????????????????????????????????? Referer ?????????? bank.example ?????????????????????????????????????????????????????? Referer ?????????????????п???????? CSRF ???????????????
?????????????????????????????У????????????????????????? CSRF ??????????????????а????е????????????????????????? Referer ?????????????????????е???????????????????κ????д???????????з???????????
????????????????????????????Referer ???????????????????? HTTP Э?????????????????????????????? Referer ????????????в?????????????????????а????????????? Referer ???????????????????????????????????????????????????????????????????????????????????Щ??????????? IE6 ?? FF2??????????Щ?????????? Referer ?????? bank.example ?????? IE6 ???????????????????????????? Referer ?????? bank.example ???????????????????????????????????? CSRF ??????
??????????????μ????????????????? Referer ?????????????????????? Referer ??????????????????????Щ???????????????????????????????????????Щ??????? Referer ????????????е??Щ???й????????С??????????????????????????????????????????? Referer????????????????????????????????????????? Referer ???????? CSRF ?????????????????????
????????????????? token ?????
????CSRF ???????????????????????????????α??????????????????????е??????????????????? cookie ?У?????????????????Щ???????????????????????????? cookie ?????????????????? CSRF????????????????з???????????α???????????????????????? cookie ??С??????? HTTP ???????????????????????????????? token????????????????????????????????? token?????????????? token ???? token ????????????????????? CSRF ???????????????
???????????????? Referer ?????Щ??token ??????????????????????? session ??У???????????????? token ?? session ???ó??????????е? token ???б????????????????????????? token ?????????????????????? GET ????token ??????????????????? URL ??? http://url?csrftoken=tokenvalue?? ?????? POST ???????????? form ?????? <input type=”hidden” name=”csrftoken” value=”tokenvalue”/>???????? token ???????????????????????????????????У????????????????????????????????????? token ????鷳????????????????????????????????????????????? javascript ???????? dom ???????? dom ?????е? a ?? form ???????? token????????????????????????????????????????????? html ????????????????????????????????????????? token??
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11