java – آیا این پارامتر به تزریق SQL آسیب پذیر است؟

سرور پشت صحنه Tomcat 8.5 (جاوا اسکریپت) را اجرا می کند. نشانی اینترنتی مورد نظر:

 https://website.com/application/servlet.do؟currentOID=abc12300000000

متوجه شدم وقتی که من یک OID ناقص (یعنی 1 کاراکتر را حذف کنم)، یا یک کاراکتر (یعنی a یا ') را اضافه می کنم، سرور یک خطا می کند:

 org.apache.ojb.broker.PersistenceBrokerSQLException: شکست SQL در حالی که درج اطلاعات شیء برای کلاس com.abc، PK از شی داده شده است [ oid=CBA000000AAAAA]، شی GroupPageTab CBA000000AAAAA، پیام استثنایی [String or binary data would be truncated.]
    در org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert (JdbcAccessImpl.java: 243)
    در org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb (PersistenceBrokerImpl.java: 1642)
    در org.apache.ojb.broker.core.PersistenceBrokerImpl.store (PersistenceBrokerImpl.java: 1557)
    در org.apache.ojb.broker.core.PersistenceBrokerImpl.store (PersistenceBrokerImpl.java: 1506)
    ...

و OID CBA000000AAAAA تغییر می کند زمانی که currentOID تغییر می کند. آیا این به نظر می رسد که ممکن است به تزریق آسیب پذیر باشد؟ من در JDBC کم تجربه هستم بنابراین مطمئن نیستم

آیا تخم لوبیا تخم مرغ قابل پیش بینی است؟

به عنوان مثال، من به نام های باقیمانده مانند "<3 CHAR PREFIX>" سابق. "FIL000000AZB3Y" (نام تصادفی) که FIL به یک شی File اشاره می کند، و 0000 … OID است. آیا این امکان پیش بینی شده است، یا پیش بینی فقط ممکن است از طریق نیروی مقاومت در برابر هر a-zA-Z0-9 برای 5 علامت باشد.

نحوه محافظت از کد منبع جاوا در هنگام توزیع برنامه جاوا من به عنوان کپی به کاربران؟

جعل کد منبع کافی است، زیرا کسانی که مایل به خواندن کد منبع شما هستند، عمدتا مایل به مراقبت از جریان اطلاعات و ساختار داده هستند. این مقاله عالی 1 می گوید AOT (پیش از تدوین زمان) راهی برای رفتن است. اکنون سوال این است: استفاده از ExcelsiorJet کد بومی من نسبتا امن از مهندس معکوس است

یکی دیگر از روش توزیع یک ماشین مجازی (می گوید لینوکس) حاوی برنامه در داخل آن VM، و ایجاد کاربر ریشه از آن داشتن رمز عبور از مثال 50 کاراکتر اشکال این است که اندازه دانلود برنامه من بیش از حد بزرگ است (برخی از Gigas). سوال بعدی این است: آیا یک هکر میتواند کد جاوا را از داخل یک تصویر دیسک VDI خواند؟

البته اگر بتوانم کد بومی خود را در یک ماشین مجازی قرار دهم، سخت تر خواهد بود. اما من می خواهم بدانیم که روش کمترین هزینه برای کد جاوا کدام است.

هنوز یک راه دیگر وجود دارد: به عنوان مثال C + + برای نوشتن بیشترین رمز مهم امنیتی، آن را به بومی واقعی کامپایل کرده و منبع جاوا جاودانگی من را نشان می دهد. اما این بدان معنی است که من باید هر دو قسمت را نیز حفظ کنم.

بسیار ممنون،

ابزار برای محافظت از کد منبع جاوا

لینوکس – نمونه اوراکل با نسخه قدیمی جاوا درون دایرکتوری های خود را با آسیب پذیری های متعدد پرچم گذاری شده است

این مسئله یک نمونه اوراکل است که با نسخه های قدیمی تر جاوا در دایرکتوری های اوراکل که با آسیب پذیری های متعدد شناخته می شوند، تعبیه شده است. نصب اوراکل جاوا در آوریل 2018 این مسئله را حل نمی کند، زیرا این فهرست ها را لمس نمی کند.

OS: Oracle Linux 7.2
نسخه اوراکل 11.2
نرم افزار مدیریت آسیب پذیری: InsightVM (قبلا به نام Nexpose شناخته می شود)
جاوا در دو دایرکتوری است:
/u01/oracle/product/11.2.0/OPatch/jre – جاوا 1.6.0.65
/u01/oracle/product/11.2.0/jdk/jre – Java 1.5.0.51

ما با پشتیبانی اوراکل تماس گرفتیم و آنها پاسخ دادند که ما نمی توانیم جاوا را درون نمونه اوراکل به روز کنیم. اگر ما انجام دهیم، می توانیم مثال ما و دسترسی به پایگاه داده را شکست دهیم. در InsightVM، می توان استثنائات ایجاد کرد، اما ما به دنبال ایجاد بیش از 500 نفر از آنها هستیم! ما نمی توانیم تنها سازمانی باشیم که به این مسئله برسد. من این سوال را در اینجا قرار می دهم امیدوارم که شخص دیگری مسئله مشابهی داشته باشد و بتواند توصیه ها را به اشتراک بگذارد.

متشکرم.

TLS – کلیدهای عمومی و خصوصی را از JBOSS استخراج کنید

sysadmin ما نیاز دارد که من کلید عمومی و خصوصی را برای Jboss sever متصل کنم. من یک فایل keystore در

wildfly.10.1.0.Final/standalone/configuration

با استفاده از

[root@server] # keytool -list -keystore keystore -storepass changeit

] خروجی

نوع Keystore: JKS ارائه دهنده Keystore: SUN

keystore شما شامل 1 نوشته

jboss، May 21، 2014، PrivateKeyEntry، اثر انگشت گواهی (SHA1):
  62: 8B: 66: 6E: C1: 04: DC: F2: 5E: D8: DB: CE: 90: B8: 4E: 06: 17: 02: B4: C6

بنابراین این به نظر می رسد مانند کلید خصوصی من ، و من می توانم keyto را برای صادرات آن به سیستم مدیریت Sys من استفاده کنم. اما در مورد کلید عمومی چیست؟ آیا آنها یک جفت نیستند؟ از کجا می توانم آن را برای صادرات آن پیدا کنم؟

به هر حال، بقیه دایرکتوری پیکربندی به نظر می رسد:

[root@s0u1lap configuration] # ls
application-roles.properties mgmt-groups.properties standalone-full.xml
application-users.properties mgmt-users.properties standalone-ha.xml
keystore public_key_dns.bks standalone.xml
keystore.default public_key_dns.der standalone_xml_history
logging.properties standalone-full-ha.xml