转:代码安全审查jannock

安全代码审查的目的是要识别出会导致安全问题和事故的不安全编码技术和漏洞。虽然可能很耗时,但代码审查必须是项目开发周期中的常规事件,这是因为在开发时修复安全缺陷会比以后在产品部署或维护修复周期中再做这项工作节省大量的成本和工作量。

本模块帮助您审查使用Microsoft.NETFramework建立的托管ASP.NETWeb应用程序代码。本模块按功能区进行组织,并通过对所需审查的问题列出完整的列表,为您的代码审查过程提供方法指导和框架。

使用本模块可以:

创建执行代码审查和ASP.NET安全审核的方法和框架。

发现代码中的跨站点脚本漏洞。

发现代码中的SQL注入漏洞。

发现代码中的潜在缓冲区溢出。

通过请求安全问题的完整列表,快速找到安全问题。

评估特定于单独.NETFramework技术的安全问题。

识别允许恶意用户启动攻击的不良代码技术。

了解如何使用FxCop、文本搜索和ILDASM分析源代码和可用.NET程序集。

本模块适用于下列产品和技术:

MicrosoftWindowsServer2000和2003

Microsoft.NETFramework1.1和ASP.NET1.1

MicrosoftSQLServer2000

使用本模块可以创建或扩展现有代码审查过程。必须确保代码审查是您的开发周期的不可或缺的一部分,并且要知道代码审查的效果与所投入的资源和预算的数量是成正比的。

由于在开发时修复安全缺陷所需的成本和工作量远比以后在产品部署周期中修复所需的成本和工作量小,所以,审查目标是在部署代码之前尽可能多地识别潜在的安全漏洞。

为了更好地理解本模块,请:

使用本指南的部分III中的其他安全模块。参考下列这些模块,以便提供有关本模块中分级显示的审查问题的其他信息。

模块6.NET安全概述

模块7构建安全的程序集

模块8代码访问安全的实践

模块9ASP.NET代码访问安全性

模块10构建安全的ASP.NET页面和控件

模块11构建安全服务型组件

模块12构建安全的WebServices

模块13构建安全的远程组件

模块14构建安全的数据访问

使用其他检查表:

检查表:体系结构和设计审查

检查表:保护ASP.NET的安全

检查表:保护WebServices的安全

检查表:保护企业服务

检查表:保护远程处理

检查表:保护数据访问

启动审查过程的好方法是通过FxCop分析工具运行已编译的程序集。此工具分析二进制程序集(而非源代码),以确保它们符合MSDN中可用的.NETFramework设计指南。它还检查您的程序集是否具有强大的名称,以提供防篡改和其他安全收益。此工具随规则的预定义集合提供,虽然您可以自定义和扩展它们。

有关详细信息,请参阅下列资源:

要帮助执行审查过程,请检查您是否熟悉可用来找到文件中的字符串的文本搜索工具。此种工具使您可以快速找到易受攻击的代码。本模块后面提供的许多审查问题都指出当查找特定漏洞时要搜索的最佳字符串。

您可能已有喜欢的搜索工具。如果没有,可以使用VisualStudio.NET中的“在文件中查找”工具或随MicrosoftWindows操作系统提供的Findstr命令行工具。

执行源代码的详细逐行分析之前,首先快速搜索整个代码库,以便识别硬编码密码、帐户名和数据库连接字符串。扫描代码,搜索诸如下列的常用字符串模式:“key”、“secret”、“password”、“pwd”和“connectionstring”。例如,要在应用程序的Web目录中搜索字符串“password”,请按如下从命令提示使用Findstr工具:

findstr/S/M/I/d:c:\projects\yourweb"password"*.*Findstr使用下列命令行参数:

/S-包括子目录。

/M-只列出文件名。

/I-使用区分大小写的搜索。

/D:dir-搜索一个以分号分隔的目录列表。如果想要搜索的文件路径包含空格,请将此路径包括在英文双引号中。

可以创建带有常用搜索字符串的文本文件。然后,Findstr可以从此文本文件读取搜索字符串,如下所示。从包含.aspx文件的目录运行以下命令。

findstr/N/G:SearchStrings.txt*.aspx/N在找到匹配项时打印相应的行号。/G指出包含搜索字符串的文件。在此例中,将在所有ASP.NET页(*.aspx)中搜索SearchStrings.txt中所包含的字符串。

还可以将Findstr命令与ildasm.exe工具一起使用,以便搜索硬编码字符串的二进制程序集。下面的命令使用ildasm.exe来搜索用来找出字符串常量的ldstr中间语言语句。注意下面显示的输出如何显示硬编码数据库连接和众所周知的sa帐户的密码。

Ildasm.exesecureapp.dll/text|findstrldstrIL_000c:ldstr"RegisterUser"IL_0027:ldstr"@userName"IL_0046:ldstr"@passwordHash"IL_0065:ldstr"@salt"IL_008b:ldstr"Exceptionaddingaccount."IL_000e:ldstr"LookupUser"IL_0027:ldstr"@userName"IL_007d:ldstr"SHA1"IL_0097:ldstr"Execeptionverifyingpassword."IL_0009:ldstr"SHA1"IL_003e:ldstr"Logonsuccessful:Userisauthenticated"IL_0050:ldstr"Invalidusernameorpassword"IL_0001:ldstr"Server=AppServer;database=users;username='sa'password=password"注意Ildasm.exe位于\ProgramFiles\MicrosoftVisualStudio.NET2003\SDK\v1.1\bin文件夹中。有关受支持的命令行参数的详细信息,请运行ildasm.exe/。

无论何时代码在返回到客户端的输出HTML流中使用输入参数时,它易受到跨站点脚本(XSS,也称为CSS)攻击。即使在进行代码审查之前,也可以运行简单测试,以检查应用程序是否易受XSS攻击。搜索用户输入信息发送回浏览器的页面。

下面的过程帮助您识别常见XSS漏洞:

识别输出输入的代码。

识别具有潜在危险性的HTML标记和属性。

识别处理URL的代码。

检查输出是否被编码。

检查字符编码是否正确。

检查validateRequest属性。

检查HttpOnlycookie选项。

检查安全属性。

检查innerText和innerHTML属性的使用。

"onmouseover=alert('hello');"开发人员使用的常用技术是筛选“<”和“>”。如果您检查的代码筛选这些字符,则转而使用下面的代码进行测试:

&{alert('hello');}如果代码不筛选这些字符,则可以使用下面的脚本对代码进行测试:

;使用此脚本之前,必须关闭标记,如下所示。

">搜索“.Write”在.aspx源代码和为您的应用程序开发的任何其他程序集包含的代码中,搜索“.Write”字符串。它定位了Response.Write的出现以及任何可以通过响应对象变量(例如下面所示的代码)生成输出的内部例程。

publicvoidWriteOutput(ResponserespObj){respObj.Write(Request.Form["someField"]);}您还应该在.aspx源代码中搜索“<%=”字符串,它也可以用来写输出,如下所示:

<%=myVariable%>下表显示了Response.Write与输入字段一起使用的一些常见情况。

表21.1:可能的输入源

表格字段

Response.Write(name.Text);Response.Write(Request.Form["name"]);QueryString

Response.Write(Request.QueryString["name"]);Cookies

Response.Write(Request.Cookies["name"].Values["name"]);会话和应用程序变量

Response.Write(Session["name"]);Response.Write(Application["name"]);数据库和数据存储区

SqlDataReaderreader=cmd.ExecuteReader();Response.Write(reader.GetString(1));识别具有潜在危险性的HTML标记和属性下列常用HTML标记(并不全面)会允许恶意用户注入脚本代码:

THE END
1.保险百科:全保汽车保险提供全面保障六条建议助你顺利应对医疗保险开放报名季 Molly Maid 市场放缓,房源量回升,买家话语权增强 Molly Maid 交了这么多税,有没有一些项目可以抵税呢?(二) Molly Maid 美国地产资讯 - 疫情让美国“独立空间”供不应求,从而可能刺激消费增加,为经济提供新的复苏动力。 Molly Maid ...https://www.jiazhumeiguo.com/blog/mgfd8e3b97870/video/2297
2.亚马逊保险购买操作,购买流程与注意事项亚马逊的保险政策从去年的9月1号开始生效,有很多商家买了,也有很多商家还没买。这个保险能帮助顾客和卖家有效的应对缺陷商品问题。那亚马逊保险怎么买? 一、亚马逊保险怎么买? 第一步,SellerCenter-新闻-更多 第二步,找到2021年08月10日的扩展亚马逊商城交易保障以保护买家和卖家(美国)的新闻后点开链接 ...https://www.hupun.com/articles/7WCFbTqY.html
3.人保i无忧2.0保障怎么样?预定利率下调会影响保费吗?三、总结 总的来说,i无忧2.0重疾险整体保障比较全面,大保险公司出品,最重要的是健康告知相当宽松,是是一款适合非标体人群购买的重疾险。还是那句话,买保险要趁早,尤其是预定利率下调后,重疾险更贵了,身体有异常的朋友买保险可能更难了。https://www.kaixinbao.com/zixun/354457.shtml
4.I\\u0027mstgifDoctorgif动图动态图表情包下载SOOGIF为您提供I\\u0027mgif动态图片,stgifDoctor动图表情包下载,还有更多关于I\\u0027m,st,gif,Doctor的动图内容,尽在SOOGIF。https://www.soogif.com/materialPage/Ehk1GESXLrU
5.SchneiderElectric施耐德电气工业维修零部件产品免责声明...03-81581-02 I/O BOARD 03-81987-02 I/O BOARD 03065-04 3000 CONTROLLER 04-02880 5000 SAMPLER BD 04-02880-09 5000 SAMPLER BD 04-03458 PCB 04-03458-03 PCB 04-03809-00 POWER BOARD 04-03809-01 POWER BOARD 889621 POWER BOARD FLT NH3 MODULE G/M-JR2 PCB UTF-2102A U/S FLOW XMTR UTL...http://fanpaijidian.com/?p=4179
6.职业院校技能大赛高职组(嵌入式系统应用开发赛项)备赛试题库(含...()A、以上都是B、分区C、引导系统答案:A29.m是指A、ObjectiveC源程序B、经过预处理的c程序C、头...A、终端服务子程序B、自动配置和初始化子程序C、服务于I/O接口的子程序答案:A33.嵌入式的硬件也...{\u0027a\u0027,\u0027b\u0027,\u0027c\u0027}C、hars[5]={""}D、chars[5]={"abcdef"...https://www.renrendoc.com/paper/346888273.html
7.微高电子IC交易网×3 3 — I 2 C×1 6 16NSOP 20SSOP HT66FM5240 20MHz 4.5V~ 5.5V 32kHz~ 20MHz 4K×16...HT45F0027 2.2V~ 5.5V 1/2/4/8MHz or 32kHz 2K×16 256×8 32×8 9 2 —√ 12-bit×...HT-ICE(S) CICE46L000007A OTP Type-0A ICP-1A HT46RU67 OTP Type-0D HT46R0662, HT46R067...http://www.rf-china.com/n43/cpu.asp
1.保险公司推出的保险产品概览,保险公司保险产品概览介绍随着社会的不断发展和人们生活水平的提高,风险管理已成为人们日常生活中不可或缺的一部分,保险作为一种有效的风险管理工具,已经越来越受到人们的关注和认可,作为专业的保险公司,我们为客户提供一系列全面、创新的保险产品,以满足不同客户的需求,本文将详细介绍保险公司在售的保险产品,以帮助客户更好地了解并选择适合自...http://kmzmjm.cn/post/57453.html
2.www.zboht.com/yyys/2024/1021/910068.html天美麻豆联合-TM0027 66.46MB 900好评 久久动漫视频豆丁网 女神被拖到公厕里灌满jing液 igao...13.56MB 787好评 蜜桃麻豆www久久已更新 西西4444 免费一级做a爰片性色毛片69 77.30MB 100好评...在线丨暗呦交小u女精品视频 成人视频在线观看 女人高潮娇喘抽搐喷水视频95 97.38MB 54%好评143人...https://www.zboht.com/yyys/2024/1021/910068.html
3.c#初级之字符的Unicode值的作用,使用@不识别转义字符,return,foreach上面的 ’ 号可以用字符的Unicode值u0027代替,输出效果相同 字符的Unicode值在实际中比较少用得到,在这里只是提一下 使用@不识别转义字符 如果我们不想去识别字符串中的转义字符,可以在字符串前面加一个@符号 举例: Console.WriteLine("I'm a good man. \n You are bad girl!"); Console.WriteLine(@"I'm...https://blog.csdn.net/weixin_42291538/article/details/87522262
4.设矩阵A是一个对称矩阵,为了节收间,将其下三角矩阵按行存储存放...B. char s[5]={\u0027a\u0027, \u0027b\u0027,\u0027c\u0027} C. char s[5]={""} D. char s[5]={"abcdef"} 查看完整题目与答案 【简答题】设A为n阶方阵,且令B=A+AT,C=A-AT。证明B为对称矩阵,C为反对称矩阵; 查看完整题目与答案 【单选题】下在是对一维数组s...https://www.shuashuati.com/ti/5daa42e48cc44fc0bdf4b45222158bdf.html?fm=bdbds91f03b2adf8e376d1df6424680a1f357
5.www.gxminyu.com/apf25999843M男专门美脚の诱脚舐め脚责 三级极品在线舔 大肉棒抽插小穴视频免费 54.13MB 672好评 我要看毛片中国少妇 亚洲黄色视频三级片 女保险公司推销员...03.87MB 0027好评 快乐男风gv巨大粗爽GV 漂亮女孩脱光用萝卜插 天堂一区二区三区视频 319.00MB 29好评 色太太AV 欧美性爱第三穴 干屌视频 ...http://www.gxminyu.com/apf25999843
6.sinotianze.com/xxxr81617113.html随着2024年半年报披露,公司也推出中期分红计划,积极回报投资者。已有20家公司披露权益分派预案,拟分红金额3.26亿元。开市以来,91家公司发布112份股份回购方案,回购金额上限合计23.8亿元,超50家公司披露董监高增持公告,坚定看好企业发展,大幅提振市场信心。 今年以来,北交所公司累计新增股份回购计划20份,回购金额上限合计5.42...http://sinotianze.com/xxxr81617113.html
7.268.mis999.com/newxr60695390.htm和其他车型相比,Z10 STARBUFF在AMD车规级系统芯片V2000A的基础上,加配了AMD RX6600M独立显卡,能够运行3A大型游戏,同时搭载了17英寸OLED后排屏幕、1TB固态硬盘、5G网络、电竞座椅以及放置键鼠的小桌板,电竞氛围拉满。但“把电竞房装进汽车”,车企要做的不仅仅是把零部件一股脑塞进座舱,而是软件层面的适配。 http://268.mis999.com/newxr60695390.htm
8.www.juntengtech.cn/newxr37982145/45973674.htm地下偶像 俄罗斯呦交小U女 爱情岛路线一路线二路线三淘宝 沉溺父女小说全文免费阅读无防盗 我把她...日本美女少妇 SSNI-012 葫芦里不买药千万影片你需要 拔萝卜打扑克全程不盖被子下载 反差婊吃瓜爆料...少妇人妻偷人精品视频免费 78m成人视、频 2021锕锕锕锕锕锕好痛f2d 秀人梦心玥AV在线 自慰丝袜喷水...http://www.juntengtech.cn/newxr37982145/45973674.htm
9.KOBOLD流量开关SMW14300/IR08「其他传感器」I24-S5R-E25<br>PHOENIX QUINT-PS/1AC/24DC/5<br>ENTRELEC 开关保险丝夹头 NR115138-15开关保险...14U/D08LA4-TF-D-FV-K<br>ZIEHL-ABEGG FH40M-4DK-4C-1R<br>LOVATO 蜂鸣器 8 LM2T B102 E10https://m.makepolo.com/product/100864556578.html
10.Java程序设计(Java9版):第2章数据类型与运算符(Datatypesand...Java继承了C语言中的字符常量的三种表示:一般式,直接通过字符来表示,比如’a’;第二种是转义字符,如表2.2所示,Java中转义字符的语义与C语言中的转义字符相同;第三种,使用数值来表示,Java使用Unicode编码,所以Unicode值来表示字符,格式是\uXXXX,其中XXXX代表一个十六进制的整数,比如前256个字符(’\u0000’ ~ ‘...https://cloud.tencent.com/developer/article/1010965
11.LINOSLiquiFilter各种GHIJKL报价LISTMAGNETIKMETO-FER-0012ST-02G-3A-U5X LBF钢铁制风管112V MTS传感器GHM3000M-RB1-2R0 ...PHOENIX 保险端子 ST 4-FSI/C 3036372 SAWAMURASS40E60-TO-L250 RHM1650MD601C101311 ...VOITH安全油Safeset oil 624 500ml bottle307.90002710Oel Safeset oil 624 500mlNo.2: 9-0027 ...http://www.afzhan.com/chanpin/7430076.html
12.CodeReviewMicrosoftLearnfindstr /S /M /I /d:c:\projects\yourweb "password" *.* Findstr uses the following command-line parameters:/S— include subdirectories. /M—...' (single quotes) &#39 ' ' \u0027 & (ampersand) & &#x26 & \u0026 < (lesser than) &#60 < < \u00...https://msdn.microsoft.com/en-us/library/aa302437.aspx
13.Lowmolecularweightsilkfibroinincreasesalkaline...Low molecular weight silk fibroin increases alkaline phosphatase and type I collagen expression in MG63 cells Download PDF ? PreviousNext ? Abstract Keywords References Cited byhttp://dx.doi.org/10.5483/BMBRep.2010.43.1.052
14."DSEG":7segmentand14U+0022"N/A" U+0024$N/A$ U+0025%N/A% U+0026&N/A& U+0027'N/A' U+0028(N/A( U+0029)N/A) U+002A*N/A* ...U+0043CCC U+0044DDD U+0045EEE U+0046FFF U+0047GGG U+0048HHH U+0049III U+004AJJJ U+004BKKK U+004CLLL U+004DMMM ...https://www.keshikan.net/fonts-e.html
15.THEPALOMARDISTANTCLUSTERSURVEY:I.THECLUSTERCATALOG(m m ) P is t(hr=ercd)i is the projected radial pro erential cluster luminosity le of ...Cluster 013 Cluster 011: GHO cluster 0027+0535 (also known as 00 ). Cluster 012: GHO https://arxiv.org/pdf/astro-ph/9511011
16.Anunexpectederroroccurred:''F'isaninvalidstartofa...Describe the bug I'm trying first time to usedsctool to connect to cluster, but it doesn't work, despite me having cluster admin privileges ? dsc connect --service data-center-api --local-port 3001 --namespace compliance-staging https://github.com/Azure/Bridge-To-Kubernetes/issues/246
17.VISHAYNOBELTYPE:KIMD0835及欧美千家品牌报价HIMMEL-0023 S01-M1B2 0.25KW I=8.75 HERZOG-2552 636069 HONEYWELL-0745 PN:060-5513-02 IMS-2386...KONCAR-0001 GN20 S13-U KUEBLER-0753 8.5834SIL.A426.1024 MONTWILL-0004 GmbH DV3.001.776C 48X...GLUAL-0021 KI-25/12X250-S303-1-AD-A-M-30 FUCHS-0026 16140-W1 FUCHS-0027 16140 FUCHS-0028...https://www.chem17.com/st285067/product_17200322.html
18.IoT工业物联平台(IIoT)24.3.0安全管理(for华为云Stack8.3.1...IoT 工业物联平台(IIoT) 24.3.0 安全管理 文档版本 01 发布日期 2024-04-30 华为云计算技术有限公司 版权所有 ? 华为云计算技术有限公司 2024。 保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 ...https://support.huawei.com/enterprise/zh/doc/EDOC1100372627
19.BINDER备件8661114H07仪器仪表B+R 模块 3DI477.6 MTS 传感器 RHM0200MP051S1G6100 DELTA 热金属检测器 Z3.JC.S N`85581 220V...DEUBLIN 旋转接头 1890-063 403400/U0027 HYDAC 气囊 SB330-50A1/112A9-330A BR 备件 8BVI0055HWDhttps://www.gkzhan.com/st152292/product_6853566.html